:root{--color-bg:#f3f3f3;--color-surface:#fff;--color-text:#000;--color-muted:#6b6b6b;--color-border:#000;--color-primary:#000;--color-primary-text:#fff;--color-accent:#e31c23;--color-danger:#e31c23;--color-pill:#e8e8e8;--radius:8px;--radius-card:10px;--radius-pill:999px;--max-width:960px;--font-display:"Montserrat", "Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-sans:"Montserrat", "Poppins", "Helvetica Neue", Helvetica, Arial, "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-cjk:"Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.5}h1,h2{font-family:var(--font-display);letter-spacing:-.03em;font-weight:800}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:24px 16px}.card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-card);padding:20px}.project-row{border-radius:var(--radius-card);background:#fff;border:1.5px solid #000;justify-content:space-between;align-items:center;gap:16px;display:flex;position:relative;box-shadow:0 6px #0000000f}.project-row-main{flex-direction:column;gap:4px;min-width:0;display:flex}.project-row-main a{color:#000;font-weight:700}.project-row-main a:hover{opacity:.7;text-decoration:none}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:12px;display:flex}.spread{justify-content:space-between}.muted{color:var(--color-muted);font-size:.9rem}label{font-size:.9rem;font-weight:600}input,textarea{border:1.5px solid var(--color-border);width:100%;font:inherit;background:var(--color-surface);color:var(--color-text);border-radius:14px;padding:10px 12px}.password-input-wrap{align-items:center;display:flex;position:relative}.password-input-wrap input{padding-right:44px}.password-input-toggle{border-radius:var(--radius);width:36px;height:36px;color:var(--color-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;right:4px}.password-input-toggle:hover{color:var(--color-text);background:#0000000a}.password-input-toggle .material-symbols-outlined{font-size:20px}.btn{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-weight:600;display:inline-flex}.btn:hover{background:#f3f3f3;text-decoration:none}.btn-primary{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.btn-primary:hover{opacity:.92;background:var(--color-primary)}.btn-danger{color:var(--color-danger);border-color:var(--color-danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:5px 10px;font-size:.85rem}.error{color:var(--color-danger);border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;padding:10px 12px;font-size:.9rem}.badge{background:var(--color-pill);color:var(--color-text);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge-owner{color:#fff;background:#000}.share-panel-sub{margin:0;font-size:.9rem}.share-invite-form{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.share-invite-input{flex:200px;min-width:0}.share-role-select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-height:42px;font:inherit;flex:none;padding:0 10px}.share-access-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin:0;font-size:.85rem;font-weight:600}.share-access-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.share-access-row:last-child{border-bottom:none}.share-access-info{flex-direction:column;gap:2px;min-width:0;display:flex}.share-access-info strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-access-email{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.share-access-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.share-banner{border-radius:var(--radius);margin:0;padding:10px 14px;font-size:.9rem}.share-banner-viewer{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.share-banner-editor{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7}.editor-top-bar{align-items:center}.nav{z-index:30;position:relative}.nav-bar{z-index:3;background:#fff;justify-content:space-between;align-items:center;height:52px;padding:0 12px;display:flex;position:relative;box-shadow:0 1px #00000014}.nav-brand{color:#000;font-family:var(--font-display);letter-spacing:-.03em;text-transform:lowercase;align-items:center;gap:.28em;font-size:.95rem;font-weight:800;text-decoration:none;display:inline-flex}.nav-brand:hover{color:#000;opacity:.75;text-decoration:none}.nav-brand-mark{flex-shrink:0;font-size:1.15em;line-height:1;display:inline-block}.nav-bar-right{align-items:center;gap:4px;display:flex}.nav-tag-row{z-index:2;justify-content:center;height:100px;display:flex;position:relative}.page-tag{color:#000;filter:drop-shadow(0 10px 16px #00000029);margin-top:-1px;text-decoration:none;display:block}.page-tag:hover{color:#000;text-decoration:none}.page-tag-shape{width:92px;height:108px;font-family:var(--font-sans);letter-spacing:.16em;text-transform:none;clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);background:#fff;justify-content:center;align-items:flex-start;padding-top:18px;font-size:.72rem;font-weight:800;display:flex}.nav-menu-btn{z-index:4;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px 8px;display:inline-flex;position:relative}.nav-menu-btn span{background:#000;border-radius:2px;width:100%;height:2px;display:block}.nav-drawer-overlay{z-index:40;background:#00000047;position:fixed;inset:0}.nav-drawer{z-index:41;background:#fff;border-left:1.5px solid #000;flex-direction:column;gap:8px;width:min(320px,86vw);height:100dvh;padding:72px 24px 32px;display:flex;position:fixed;top:0;right:0;overflow:auto}.nav-drawer a,.nav-drawer .nav-drawer-link{color:#000;align-items:center;min-height:44px;padding:12px 4px;font-size:1.05rem;font-weight:700;display:flex}.nav-drawer a:hover{opacity:.65;text-decoration:none}.nav-drawer .account-menu{margin-top:auto;padding-top:16px}.nav-drawer .account-menu-dropdown{width:100%;box-shadow:none;border:1.5px solid #000;margin-top:8px;position:static}.canva-home{color:#000;background:#fff;flex-direction:column;min-height:100dvh;display:flex;position:relative}.canva-home-stage{background:#fff;flex:1;min-height:0;position:relative}.canva-home-frame{background:#fff;border:0;width:100%;height:100dvh;min-height:100dvh;display:block}.nav-overlay{z-index:40;pointer-events:none;position:absolute;top:0;right:0}.nav-menu-btn-overlay{pointer-events:auto;opacity:0;background:0 0;margin:4px 6px 0 0}.canva-home-note{z-index:5;text-align:center;max-width:min(90vw,28rem);color:var(--color-muted);background:#fffffff2;border-radius:8px;margin:0;padding:10px 14px;font-size:.9rem;position:absolute;bottom:72px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0000001f}.home{background:var(--color-bg);color:#000;flex-direction:column;min-height:100dvh;display:flex;position:relative}.home-hero{z-index:1;text-align:center;flex-direction:column;flex:1;align-items:center;width:100%;max-width:640px;margin:0 auto;padding:28px 24px 48px;display:flex;position:relative}.home-brand{font-family:var(--font-display);letter-spacing:-.03em;text-transform:lowercase;color:#000;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.2em;margin:0 0 1.1rem;font-size:clamp(1.7rem,7vw,2.85rem);font-weight:800;line-height:1.15;display:inline-flex}.home-logo-hearts{flex-shrink:0;margin-top:.08em;font-size:.95em;line-height:1;display:inline-block}.home-tagline{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;background:#e6e6e6;max-width:22rem;margin:0 auto 1.35rem;padding:10px 18px;font-weight:600;line-height:1.35;display:inline-block}.home-hearts{justify-content:center;align-items:center;margin:.1rem 0 1.6rem;display:flex}.home-hearts-mark{font-size:4.5rem;line-height:1;display:inline-block}.home-cta{flex-direction:column;align-items:center;gap:28px;width:100%;margin-bottom:2rem;display:flex}.home-volunteer{border-radius:var(--radius-pill);color:#000;min-height:48px;font-family:var(--font-sans);letter-spacing:-.01em;text-transform:lowercase;background:#fff;border:1.5px solid #000;padding:12px 28px;font-size:1rem;font-weight:700}.home-volunteer:hover{background:#f6f6f6;text-decoration:none}.home-note{color:var(--color-muted);margin:0;font-size:.9rem}.home-lang{flex-direction:column;align-items:center;gap:10px;display:flex}.home-lang-label{letter-spacing:-.02em;font-size:.95rem;font-weight:800}.home-lang-flags{gap:18px;display:flex}.home-lang-flag{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:2px solid #0000;border-radius:8px;width:52px;min-width:44px;height:52px;min-height:44px;padding:0;font-size:2.1rem;line-height:1}.home-lang-flag:hover,.home-lang-flag:focus-visible{background:#f3f3f3;outline:none}.home-lang-flag.is-active{border-color:#000;transform:scale(1.08)}.home-lang-flags-compact{gap:2px}.home-lang-flags-compact .home-lang-flag{width:44px;height:44px;font-size:1.45rem;transform:none}.home-lang-flags-compact .home-lang-flag.is-active{transform:none}.home-close{flex-direction:column;align-items:center;gap:16px;width:100%;margin-top:auto;padding:28px 0 40px;display:flex}.home-close-copy{letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:800}.home-earth{width:min(240px,62vw);height:auto;display:block}.account-menu{position:relative}.account-menu-trigger{border:1px solid var(--color-border);background:var(--color-surface);width:40px;height:40px;color:var(--color-text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.account-menu-trigger:hover{background:#f3f3f3;border-color:#000}.account-menu-trigger .material-symbols-outlined{font-size:22px}.account-menu-dropdown{z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:min(320px,100vw - 24px);padding:16px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001f}.account-menu-panel{gap:16px}.account-menu-email{border-bottom:1px solid var(--color-border);flex-direction:column;gap:4px;padding-bottom:12px;display:flex}.account-menu-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-size:.75rem;font-weight:600}.account-menu-email-value{word-break:break-all;font-size:.9rem}.account-menu-section{border-bottom:1px solid var(--color-border);gap:8px;padding-bottom:12px}.account-menu-section label{font-size:.85rem;font-weight:600}.account-menu-signout{width:100%;margin-top:4px}.editor-top-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.collaborator-presence{border:1px solid var(--color-border);background:#fff;border-radius:999px;align-items:center;gap:8px;max-width:280px;padding:4px 10px;display:flex}.collaborator-avatars{align-items:center;display:flex}.collaborator-avatar{color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-left:-6px;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.collaborator-avatars .collaborator-avatar:first-child{margin-left:0}.collaborator-avatar-typing{box-shadow:0 0 0 2px #1a73e8}.collaborator-presence-text{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.remote-cursor{pointer-events:none;-webkit-user-select:none;user-select:none;vertical-align:baseline;width:0;display:inline;position:relative;overflow:visible}.remote-cursor-caret{border-radius:1px;width:2px;height:1.15em;position:absolute;top:0;left:0;transform:translateZ(0)}.remote-cursor-label{color:#fff;white-space:nowrap;pointer-events:none;border-radius:4px 4px 4px 0;padding:1px 6px;font-size:10px;font-weight:600;line-height:1.4;position:absolute;top:-1.3em;left:0;transform:translateZ(0)}.remote-cursor-selection{border-radius:2px}.editor-layout{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.editor-layout-with-comments{grid-template-columns:1fr 320px}.editor-main{min-width:0;position:relative}.comments-toggle.active{color:#1a73e8;background:#e8f0fe;border-color:#1a73e8}.comments-panel{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 120px);position:sticky;top:12px;overflow-y:auto}.comments-panel-title{margin:0;font-size:1.1rem}.comments-compose textarea{resize:vertical;min-height:72px}.comments-compose-hint{margin:0;font-size:.85rem;line-height:1.4}.comments-post-btn{align-self:flex-start}.comments-compose-actions{flex-wrap:wrap;gap:8px}.comments-quote{color:#5f6368;background:#fff8e1;border-left:3px solid #f9ab00;margin:0;padding:8px 10px;font-size:.85rem;position:relative}.comments-quote-clear{cursor:pointer;color:var(--color-muted);background:0 0;border:none;font-size:1.1rem;line-height:1;position:absolute;top:4px;right:6px}.comment-thread{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;padding:10px}.comment-thread-active{border-color:#f9ab00;box-shadow:0 0 0 2px #f9ab0040}.comment-thread-resolved{opacity:.75;background:#f8f9fa}.comment-thread-main{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;padding:0;display:block}.comment-body{white-space:pre-wrap;margin:6px 0}.comment-meta{font-size:.75rem}.comment-reply{border-left:2px solid var(--color-border);margin-top:10px;margin-left:12px;padding-left:10px}.comment-reply-form textarea{resize:vertical;min-height:56px}.comments-resolved-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin:8px 0 0;font-size:.8rem}.comment-highlight{cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#f9ab0059;box-shadow:inset 0 -2px #f9ab00}.comment-highlight-active{background:#f9ab008c}.comment-selection-bubble{z-index:30;border:1px solid var(--color-border);cursor:pointer;touch-action:manipulation;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-size:.85rem;font-weight:600;display:inline-flex;position:absolute;box-shadow:0 2px 8px #0000001f}.comment-selection-bubble .material-symbols-outlined{font-size:18px}.letter-title{border:none;border-bottom:1px solid #0000;padding:4px 0;font-size:1.4rem;font-weight:700}.letter-title:focus{border-bottom-color:var(--color-border);outline:none}.paste-blocked-notice{border-radius:var(--radius);color:#7a5a00;background:#fef7e0;border:1px solid #f9ab00;margin:0;padding:10px 12px;font-size:.9rem}.toolbar{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.docs-toolbar-wrap{z-index:40;border:1px solid var(--color-border);border-radius:var(--radius);background:#f8f9fa;position:relative;overflow:visible}.docs-toolbar-scroll{z-index:2;position:relative;overflow:visible}.docs-toolbar{flex-wrap:wrap;align-items:center;gap:2px;min-width:min-content;min-height:40px;padding:4px 8px;display:flex}.docs-toolbar-secondary{z-index:1;border-top:1px solid var(--color-border);background:#fff;gap:8px;padding:6px 10px;position:relative}.docs-toolbar-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.docs-select{height:32px;color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:0 8px;font-size:.875rem}.docs-select:hover{border-color:var(--color-border);background:#0000000a}.docs-style-select{min-width:120px}.docs-size-select{width:52px}.docs-spacing-select{width:72px}.docs-divider{background:#dadce0;flex-shrink:0;width:1px;height:22px;margin:0 4px}.docs-btn{color:#444746;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.docs-btn:hover{background:#0000000f}.docs-btn.active{color:#001d35;background:#c2e7ff}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Symbols Outlined;font-size:20px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.docs-mat-icon-wrap{flex-direction:column;justify-content:center;align-items:center;width:20px;height:20px;line-height:1;display:inline-flex}.docs-color-indicator{border-radius:1px;width:14px;height:3px;margin-top:-1px}.docs-popover-anchor{z-index:1;position:relative}.docs-color-palette{z-index:100;background:#fff;border:1px solid #dadce0;border-radius:8px;width:220px;padding:10px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #00000026}.docs-color-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.docs-color-swatch{cursor:pointer;border:1px solid #00000014;border-radius:50%;width:24px;height:24px;padding:0}.docs-color-swatch:hover{transform:scale(1.1)}.docs-color-swatch.selected{box-shadow:0 0 0 2px #1a73e8}.docs-color-custom{border-top:1px solid #eee;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;font-size:.8rem;display:flex}.docs-color-custom-label{cursor:pointer;align-items:center;gap:8px;font-weight:400;display:flex}.docs-color-custom input[type=color]{cursor:pointer;border:none;width:28px;height:28px;padding:0}.docs-color-reset{color:#1a73e8;cursor:pointer;background:0 0;border:none;font-size:.8rem}.docs-align-menu{z-index:100;background:#fff;border:1px solid #dadce0;border-radius:8px;gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #00000026}.docs-size-trigger{color:#444746;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-width:44px;height:32px;padding:0 8px;font-size:.875rem;display:inline-flex}.docs-size-trigger:hover,.docs-size-trigger.active{border-color:var(--color-border);background:#0000000f}.docs-font-size-menu{z-index:100;background:#fff;border:1px solid #dadce0;border-radius:8px;min-width:72px;max-height:280px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 4px 16px #00000026}.docs-font-size-menu-mobile{box-shadow:none;border:none;max-height:none;padding:0;position:static}.docs-font-size-option{text-align:left;color:#202124;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:8px 12px;font-size:.875rem;display:block}.docs-font-size-option:hover,.docs-font-size-option.active{color:#1a73e8;background:#e8f0fe}.docs-line-spacing-menu{z-index:100;background:#fff;border:1px solid #dadce0;border-radius:8px;min-width:132px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #00000026}.docs-line-spacing-menu-mobile{box-shadow:none;border:none;padding:0;position:static}.docs-line-spacing-option{text-align:left;color:#202124;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:8px 12px;font-size:.875rem;display:block}.docs-line-spacing-option:hover,.docs-line-spacing-option.active{color:#1a73e8;background:#e8f0fe}.docs-align-option{cursor:pointer;color:#444746;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.docs-align-option:hover,.docs-align-option.active{background:#c2e7ff}.docs-toolbar .font-picker-trigger{background:0 0;border:1px solid #0000;border-radius:4px;min-width:130px;height:32px;padding:0 8px;font-size:.875rem}.docs-toolbar .border-picker-trigger{background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;gap:0;width:auto;min-width:0;height:32px;padding:0 4px 0 2px}.docs-toolbar .font-picker-trigger:hover,.docs-toolbar .border-picker-trigger:hover{border-color:var(--color-border);background:#0000000a}.docs-toolbar .font-picker-menu,.docs-toolbar .border-picker-menu{z-index:100}.ProseMirror mark{border-radius:2px;padding:0 1px}.letter-surface{z-index:0;border:1px solid var(--color-border);border-radius:var(--radius);color:#1c1c1c;background:#fff;min-height:480px;padding:48px 40px;position:relative;overflow:hidden}.letter-surface .ProseMirror{word-break:normal;overflow-wrap:anywhere}.letter-bilingual{grid-template-columns:1fr 1fr;align-items:stretch;gap:0;min-height:360px;display:grid}.letter-pane{min-width:0;padding:0 20px}.letter-pane:first-child{border-right:1px solid var(--color-border);padding-left:0;padding-right:24px}.letter-pane:last-child{padding-left:24px;padding-right:0}.letter-pane-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin:0 0 12px;font-size:.7rem;font-weight:600}.letter-pane .ProseMirror{min-height:320px}.letter-pane.is-active .letter-pane-label{color:#1c1c1c}.letter-surface .ProseMirror h1,.letter-surface .ProseMirror h2{color:#1c1c1c;letter-spacing:-.02em;font-weight:600}.ProseMirror{z-index:1;outline:none;min-height:360px;position:relative}.letter-border-frame{z-index:1;border-radius:inherit;min-height:360px;position:relative}.letter-border-frame[class*=border-]{padding:12px 16px}.ProseMirror>*+*{margin-top:.75em}.ProseMirror h1{font-size:1.75rem}.ProseMirror h2{font-size:1.35rem}.ProseMirror ul,.ProseMirror ol{padding-left:1.4rem}.ProseMirror img{max-width:100%;height:auto}.modal-overlay{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius);flex-direction:column;gap:14px;width:100%;max-width:780px;max-height:90vh;padding:20px;display:flex;overflow:auto}.modal-wide{max-width:720px}.font-picker{z-index:1;position:relative}.font-picker-trigger{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;text-align:left;min-width:168px;max-width:220px;color:var(--color-text);align-items:center;gap:8px;padding:6px 10px;font-size:.9rem;display:flex}.font-picker-trigger:hover{border-color:var(--color-primary)}.font-picker-chevron{color:var(--color-muted);margin-left:auto;font-size:.7rem}.font-picker-menu{z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:240px;max-height:320px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.font-picker-group+.font-picker-group{border-top:1px solid var(--color-border);margin-top:6px;padding-top:6px}.font-picker-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);padding:4px 10px 6px;font-size:.7rem;font-weight:700}.font-picker-option{text-align:left;cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:1.05rem;display:block}.font-picker-option:hover,.font-picker-option.selected{background:#eef2ff}.toolbar-divider{background:var(--color-border);flex-shrink:0;width:1px;height:24px}.border-picker{z-index:1;position:relative}.border-picker-trigger{cursor:pointer;color:#444746;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;gap:0;width:auto;height:32px;padding:0 4px 0 2px;display:inline-flex}.border-picker-trigger:hover{background:#0000000f}.border-picker-trigger .material-symbols-outlined{font-size:20px}.border-picker-chevron{color:var(--color-muted);margin-left:-1px;font-size:.65rem;line-height:1}.border-picker-menu{z-index:100;-webkit-overflow-scrolling:touch;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:min(320px,100vw - 32px);max-height:min(360px,70vh);padding:10px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 12px 32px #00000024}.border-picker-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.border-picker-option{aspect-ratio:4/5;cursor:pointer;background:#f8f9fb;border:2px solid #0000;border-radius:8px;width:100%;padding:0;transition:border-color .15s,box-shadow .15s,transform .1s;display:block;position:relative;overflow:hidden}.border-picker-option:hover{border-color:#c5cae9;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.border-picker-option.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.border-picker-selected-mark{background:var(--color-primary);color:#fff;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:4px;right:4px;box-shadow:0 1px 3px #0003}.border-picker-selected-mark .material-symbols-outlined{font-size:14px;font-weight:700}.border-picker-preview{box-sizing:border-box;background:#fff;border-radius:4px;flex-shrink:0;width:32px;height:32px;display:block}.border-picker-option .border-picker-preview{border-radius:6px;width:100%;height:100%}.letter-border-frame.border-soft,.border-picker-preview.border-soft{border:4px solid #f0b8c8;border-radius:16px;box-shadow:inset 0 0 0 6px #fff,inset 0 0 0 8px #fce4ec}.letter-border-frame.border-dashed,.border-picker-preview.border-dashed{border:3px dashed #e899a8;border-radius:14px}.letter-border-frame.border-double,.border-picker-preview.border-double{border:4px double #8b7355;border-radius:8px;box-shadow:inset 0 0 0 1px #fff}.letter-border-frame.border-hearts,.border-picker-preview.border-hearts{--heart:%3.40282e38a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e8839a'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e8839a'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e8839a'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e8839a'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E");background-position:14px 14px,calc(100% - 14px) 14px,14px calc(100% - 14px),calc(100% - 14px) calc(100% - 14px);background-repeat:no-repeat;background-size:24px 24px;border:3px solid #e8839a;border-radius:14px}.border-picker-option .border-picker-preview.border-hearts{background-position:6px 6px,calc(100% - 6px) 6px,6px calc(100% - 6px),calc(100% - 6px) calc(100% - 6px);background-size:16px 16px}.letter-border-frame.border-stars,.border-picker-preview.border-stars{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e8b84a'%3E%3Cpath d='M12 2l2.4 7.4H22l-6 4.6 2.3 7-6.3-4.6L5.7 21l2.3-7-6-4.6h7.6z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e8b84a'%3E%3Cpath d='M12 2l2.4 7.4H22l-6 4.6 2.3 7-6.3-4.6L5.7 21l2.3-7-6-4.6h7.6z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e8b84a'%3E%3Cpath d='M12 2l2.4 7.4H22l-6 4.6 2.3 7-6.3-4.6L5.7 21l2.3-7-6-4.6h7.6z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e8b84a'%3E%3Cpath d='M12 2l2.4 7.4H22l-6 4.6 2.3 7-6.3-4.6L5.7 21l2.3-7-6-4.6h7.6z'/%3E%3C/svg%3E");background-position:14px 14px,calc(100% - 14px) 14px,14px calc(100% - 14px),calc(100% - 14px) calc(100% - 14px);background-repeat:no-repeat;background-size:20px 20px;border:3px solid #d4b896;border-radius:12px}.border-picker-option .border-picker-preview.border-stars{background-position:6px 6px,calc(100% - 6px) 6px,6px calc(100% - 6px),calc(100% - 6px) calc(100% - 6px);background-size:14px 14px}.letter-border-frame.border-dots,.border-picker-preview.border-dots{box-shadow:none;background:0 0;border:4px dotted #f4a6b8;border-radius:14px}.border-picker-option .border-picker-preview.border-dots{border-width:4px}.letter-border-frame.border-postage,.border-picker-preview.border-postage{background-image:repeating-linear-gradient(90deg,#8fafc4 0 3px,#0000 3px 7px),repeating-linear-gradient(90deg,#8fafc4 0 3px,#0000 3px 7px);background-position:0 0,0 100%;background-repeat:repeat-x;background-size:7px 2px,7px 2px;border:3px solid #8fafc4;border-radius:4px;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 5px #8fafc4}.letter-surface.border-lined,.border-picker-preview.border-lined{--ruled-font-size:11px;--ruled-line-height:1.15;--ruled-extend:40px;--ruled-margin:52px;background-color:#fffef8;background-image:linear-gradient(90deg,#f4a0a0 1px,#0000 1px);background-position:var(--ruled-margin) 0;background-repeat:no-repeat;border-color:#e4dfd2;overflow:visible}.letter-surface.border-lined .letter-border-frame{background:0 0}.letter-surface.border-lined .ProseMirror{font-size:var(--ruled-font-size);line-height:var(--ruled-line-height);margin-left:calc(-1 * var(--ruled-extend));padding-left:var(--ruled-extend);width:calc(100% + var(--ruled-extend));box-sizing:border-box;background-image:repeating-linear-gradient(#0000 0 calc(1lh - 1px),#b8d0ea calc(1lh - 1px) 1lh);background-position:0 0;background-repeat:repeat-y;background-size:100% 1lh}.letter-surface.border-lined .ProseMirror :is(p,h1,h2,li){line-height:var(--ruled-line-height);background:0 0}.letter-surface.border-lined .ProseMirror>*+*{margin-top:0}.border-picker-option .border-picker-preview.border-lined{--ruled-extend:0px;--ruled-margin:22px;--ruled-line-height:1.2;background-image:linear-gradient(90deg,#f4a0a0 1px,#0000 1px);position:relative}.border-picker-option .border-picker-preview.border-lined:after{content:"";line-height:var(--ruled-line-height);pointer-events:none;background-image:repeating-linear-gradient(#0000 0 calc(1lh - 1px),#b8d0ea calc(1lh - 1px) 1lh);background-position:0 4px;background-repeat:repeat-y;background-size:100% 1lh;position:absolute;inset:0}.letter-surface.border-stamp-cut,.border-picker-preview.border-stamp-cut{--stamp-paper:#ead9a8;--stamp-edge:#b8945a;--stamp-shadow:#48341038;background-color:var(--stamp-paper);background-image:radial-gradient(circle at 50% 0%, transparent 4px, var(--stamp-edge) 4px 5px, transparent 5px), radial-gradient(circle at 100% 50%, transparent 4px, var(--stamp-edge) 4px 5px, transparent 5px), radial-gradient(circle at 50% 100%, transparent 4px, var(--stamp-edge) 4px 5px, transparent 5px), radial-gradient(circle at 0% 50%, transparent 4px, var(--stamp-edge) 4px 5px, transparent 5px), linear-gradient(155deg, #f3e5c0 0%, #e8d4a0 42%, #dcc48a 100%);border:2px solid var(--stamp-edge);box-shadow:inset 0 0 0 8px #fff8e073, 0 3px 14px var(--stamp-shadow);background-position:top,100%,bottom,0,50%;background-repeat:repeat-x,repeat-y,repeat-x,repeat-y,no-repeat;background-size:10px 5px,5px 10px,10px 5px,5px 10px,100% 100%}.letter-surface.border-stamp-cut .letter-border-frame{background:0 0}.border-picker-option .border-picker-preview.border-stamp-cut{background-size:8px 4px,4px 8px,8px 4px,4px 8px,100% 100%;box-shadow:inset 0 0 0 4px #fff8e073}.border-picker-option .border-picker-preview.border-soft{border-width:2px;border-radius:10px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 4px #fce4ec}.border-picker-option .border-picker-preview.border-double{border-width:3px}.border-picker-preview.border-none{border:1px solid var(--color-border)}.toolbar-sheet-root{z-index:200;position:fixed;inset:0}.toolbar-sheet-backdrop{cursor:pointer;background:#0006;border:none;position:absolute;inset:0}.toolbar-sheet{background:var(--color-surface);border-radius:16px 16px 0 0;flex-direction:column;max-height:70vh;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000026}.toolbar-sheet-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.toolbar-sheet-title{font-size:1rem;font-weight:600}.toolbar-sheet-done{color:var(--color-primary);cursor:pointer;background:0 0;border:none;min-height:44px;padding:0 8px;font-size:1rem;font-weight:600}.toolbar-sheet-body{-webkit-overflow-scrolling:touch;padding:12px 16px 24px;overflow-y:auto}.docs-color-palette-mobile{width:100%;box-shadow:none;border:none;padding:0;position:static}.docs-color-palette-mobile .docs-color-grid{grid-template-columns:repeat(7,1fr);gap:8px}.docs-color-palette-mobile .docs-color-swatch{aspect-ratio:1;width:100%;height:auto;min-height:36px}.docs-align-menu-mobile{box-shadow:none;border:none;justify-content:space-around;padding:8px 0;position:static}.docs-align-menu-mobile .docs-align-option{width:56px;height:56px}@media (max-width:640px){.container{padding:16px 12px}.home-hero{padding:24px 16px 32px}.home-brand{font-size:clamp(1.55rem,8vw,2.15rem)}.account-menu-trigger{width:44px;height:44px}.account-menu-section input{min-height:48px;font-size:16px}.password-input-toggle{width:44px;height:44px}.account-menu-section .btn,.account-menu-signout{min-height:48px}.dashboard-header{flex-wrap:wrap;gap:12px}.dashboard-header .btn-primary{width:100%;min-height:48px;font-size:1rem}.project-row{flex-direction:column;align-items:stretch;gap:12px}.project-row-actions{flex-wrap:wrap}.project-row-actions .btn{flex:1;min-height:44px}.letter-surface{min-height:360px;padding:24px 16px}.letter-bilingual{grid-template-columns:1fr;gap:20px}.letter-pane:first-child{border-right:none;border-bottom:1px solid var(--color-border);padding-bottom:16px;padding-right:0}.letter-pane:last-child{padding-top:4px;padding-left:0}.letter-pane .ProseMirror{min-height:240px}.letter-surface.border-lined{--ruled-extend:16px;--ruled-margin:28px}.letter-title{font-size:1.2rem}.docs-toolbar-wrap{border-left:none;border-right:none;border-radius:0;margin-left:-12px;margin-right:-12px}.docs-toolbar-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;overflow-x:auto}.docs-toolbar-scroll::-webkit-scrollbar{display:none}.docs-toolbar{flex-wrap:nowrap;gap:6px;padding:8px 12px}.docs-toolbar-secondary{flex-wrap:wrap;gap:10px;padding:10px 12px}.docs-btn{flex-shrink:0;width:44px;height:44px}.docs-select{flex-shrink:0;min-height:44px;font-size:16px}.docs-style-select{min-width:108px;max-width:130px}.docs-size-select{width:56px}.docs-toolbar .font-picker-trigger{touch-action:manipulation;min-width:110px;max-width:140px;min-height:44px;font-size:16px}.docs-toolbar .border-picker-trigger{touch-action:manipulation;width:auto;min-width:0;height:44px;padding:0 6px 0 4px}.border-picker-grid{grid-template-columns:repeat(3,1fr);gap:10px}.border-picker-option{aspect-ratio:4/5;touch-action:manipulation;min-height:0}.font-picker-option{touch-action:manipulation;min-height:48px;padding:12px 14px}.font-picker-trigger{touch-action:manipulation;min-height:44px}.border-picker-trigger{touch-action:manipulation}.font-picker-menu,.border-picker-menu,.docs-color-palette{max-width:min(320px,100vw - 24px)}.letter-editor-actions{flex-direction:column;align-items:stretch;gap:8px}.letter-editor-actions .btn{width:100%}.share-invite-form{flex-direction:column}.share-invite-form .btn-primary{width:100%;min-height:48px}.share-role-select{width:100%;min-height:48px;font-size:16px}.share-access-row{flex-direction:column;align-items:stretch}.share-access-actions{width:100%}.share-access-actions .share-role-select{flex:1}.share-access-actions .btn{min-height:48px}.editor-top-bar .btn-primary{min-height:44px}.editor-layout-with-comments{grid-template-columns:1fr}.comments-panel{max-height:none;position:static}.comments-compose textarea,.comment-reply-form textarea{font-size:16px}.comments-compose-actions .btn,.comment-reply-form .btn{min-height:48px}.btn{min-height:44px}input,textarea,select{font-size:16px}}
