@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/4f52e7e286ad48dd-s.woff2) format("woff2");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/5b2b7a6f7f37a283-s.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/9a8547324877773b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/95c8264a6767742a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bodoni Moda Fallback;src:local("Times New Roman");ascent-override:98.50%;descent-override:35.02%;line-gap-override:0.00%;size-adjust:114.22%}.__className_4c1f9b{font-family:Bodoni Moda,Bodoni Moda Fallback;font-style:normal}.__variable_4c1f9b{--font-display:"Bodoni Moda","Bodoni Moda Fallback"}@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/1d4eaed977255102-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f3f7e95f2dbc4fe4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sora Fallback;src:local("Arial");ascent-override:85.29%;descent-override:25.50%;line-gap-override:0.00%;size-adjust:113.73%}.__className_ce197d{font-family:Sora,Sora Fallback;font-style:normal}.__variable_ce197d{--font-body:"Sora","Sora Fallback"}:root{--bg-default:#ffffff;--bg-subtle:#faf8f3;--text-primary:#2d3b45;--text-secondary:#6b7780;--accent:#111827;--accent-muted:#374151;--accent-soft:#f3f4f6;--accent-error:#fc5050;--line:rgba(0,0,0,0.06);--line-strong:rgba(0,0,0,0.12);--success:#10b981;--fs-xs:10px;--fs-sm:11px;--fs-base:13px;--fs-md:13.5px;--fs-lg:14px;--fs-xl:16px;--fs-2xl:22px;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--p-md:10px;--p-lg:12px;--p-xl:14px;--p-2xl:16px;--m-md:10px;--m-lg:12px;--m-xl:20px;--gap-sm:4px;--gap-md:8px;--gap-lg:10px;--gap-xl:12px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-full:999px;--shadow-subtle:none;--shadow-soft:none;--shadow-strong:none;--bg:var(--bg-subtle);--surface:var(--bg-default);--surface-muted:var(--bg-subtle);--text:var(--text-primary);--muted:var(--text-secondary)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{background:var(--bg-subtle)}body{margin:0;min-height:100vh;color:var(--text-primary);font-family:var(--font-body),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:var(--fs-base);line-height:1.5}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.loader-container{display:flex;justify-content:center;align-items:center;min-height:200px;width:100%}.loader{width:24px;height:24px;border:2px solid var(--line-strong);border-bottom:2px solid transparent;border-radius:50%;display:inline-block;animation:rotation .6s linear infinite}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.missing-page,.page-shell,.simple-shell{width:min(1000px,calc(100vw - 40px));margin:0 auto}@media (max-width:640px){.missing-page,.page-shell,.simple-shell{width:min(1000px,calc(100vw - 24px))}}.page-shell{padding:48px 0 80px}@media (max-width:768px){.page-shell{padding:32px 0 64px}}.missing-page,.simple-shell{min-height:100vh;display:grid;place-items:center}h1,h2,h3{margin:0;color:var(--text-primary);letter-spacing:-.02em;font-family:var(--font-body),sans-serif}h1{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:1.2}@media (max-width:640px){h1{font-size:20px}}h2{font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.eyebrow,.field-label{display:block;margin:0 0 var(--gap-md);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.05em;color:var(--text-secondary)}.empty-state p,.missing-card p,.muted-copy,.note-snippet{color:var(--text-secondary);font-size:var(--fs-md);line-height:1.6}.panel{padding:var(--p-2xl);border-radius:var(--radius-2xl);background:var(--bg-default);box-shadow:var(--shadow-soft);border:1px solid var(--line)}@media (max-width:640px){.panel{padding:var(--p-xl)}}.empty-dashboard{text-align:center;padding:120px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-dashboard h2{margin-bottom:var(--gap-sm)}.empty-dashboard p{max-width:240px;margin:0 auto}.empty-state,.missing-card{width:min(480px,100%);padding:40px;text-align:center;background:var(--bg-default);border-radius:var(--radius-2xl);box-shadow:var(--shadow-strong)}.login-shell{position:relative;min-height:100vh;width:100%;overflow:hidden;display:grid;place-items:center}.login-decor-layer{position:absolute;inset:0;pointer-events:none;z-index:0}.login-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;width:100%;max-width:680px}.login-content h1{font-size:clamp(28px,4vw,46px);line-height:1.05;letter-spacing:-.04em;margin:0 0 18px;text-wrap:balance}.login-content p{max-width:440px;margin:0 0 20px;font-size:var(--fs-xl)}.login-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:12px 0}.login-video{margin-top:36px;width:min(640px,100%,calc((100vh - 320px) * 16 / 9));aspect-ratio:16/9;background:#000;border-radius:var(--radius-2xl);box-shadow:none}.decor-card{position:absolute;box-shadow:none;border-radius:4px;border:1px solid rgba(15,23,42,.06)}.decor-card--letter{width:220px;height:280px;padding:32px 22px 22px}.decor-card--letter.style-lined{background-image:repeating-linear-gradient(180deg,transparent 0,transparent 27px,rgba(120,145,180,.4) 0,rgba(120,145,180,.4) 28px);background-position:0 24px;background-repeat:repeat}.decor-card--letter.style-grid{background-image:repeating-linear-gradient(90deg,rgba(140,140,140,.3) 0,rgba(140,140,140,.3) 1px,transparent 0,transparent 22px),repeating-linear-gradient(180deg,rgba(140,140,140,.3) 0,rgba(140,140,140,.3) 1px,transparent 0,transparent 22px)}.decor-letter-lines{display:flex;flex-direction:column;gap:16px}.decor-letter-line{height:3px;border-radius:2px;background:rgba(60,70,90,.35)}.decor-card--envelope{width:240px;height:150px;background:var(--env-color,#f5e9d0)}.decor-envelope-flap{position:absolute;top:0;left:0;width:100%;height:50%;background:var(--flap-color,#ebd9b5);-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);border-bottom:1px solid rgba(15,23,42,.05)}.decor-postage,.decor-postmark{position:absolute;pointer-events:none;filter:none}.decor-postage{width:18%;aspect-ratio:22/25;z-index:1}.decor-postmark{width:18%;aspect-ratio:1/1;filter:none;opacity:.8;z-index:2}.decor-postage svg,.decor-postmark svg{width:100%;height:100%;display:block;overflow:visible}.decor-tape{position:absolute;width:64px;height:18px;background:rgba(244,211,94,.5);border-left:1px dashed rgba(244,211,94,.25);border-right:1px dashed rgba(244,211,94,.25);z-index:2}@media (max-width:768px){.decor-card--letter{width:160px;height:200px;padding:20px 16px}.decor-letter-lines{gap:12px}.decor-card--envelope{width:180px;height:112px}.decor-tape{width:48px;height:14px}}@media (max-width:640px){.empty-state,.missing-card{padding:24px}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;padding-bottom:var(--p-xl);border-bottom:1px solid var(--line);gap:24px}.drawing-actions,.header-actions,.panel-row,.share-row{display:flex;align-items:center;gap:var(--gap-xl)}@media (max-width:640px){.drawing-actions,.header-actions,.panel-row,.share-row{flex-wrap:wrap;gap:var(--gap-md)}.header-actions>*{flex:1 1 auto}}.save-status,.subtle-stat,.timestamp{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.save-status{min-width:96px;text-align:right}.notes-grid{display:grid;grid-gap:var(--gap-xl);gap:var(--gap-xl);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width:480px){.notes-grid{grid-template-columns:1fr}}.note-card{padding:var(--p-2xl);background:var(--bg-default);border-radius:var(--radius-xl);border:1px solid var(--line);box-shadow:var(--shadow-subtle);transition:box-shadow .2s ease;display:flex;flex-direction:column;gap:var(--gap-md);cursor:default;min-height:200px}.note-card:hover{border-color:var(--line-strong)}.note-card-body h2{margin-bottom:2px;overflow-wrap:anywhere;min-width:0}.note-snippet{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap;overflow-wrap:anywhere;text-overflow:ellipsis}.note-date{display:block;margin-bottom:4px;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-secondary)}.compact-panel{min-height:120px}.share-card{margin-top:24px;padding:var(--p-2xl);background:var(--bg-subtle);border-radius:var(--radius-xl);border:1px solid var(--line)}.studio-shell{width:min(1200px,calc(100vw - 40px));margin:0 auto;padding:48px 0 80px}.hero-panel{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:48px}.hero-copy{max-width:600px}.lede{font-size:var(--fs-xl);color:var(--text-secondary);margin-top:var(--gap-md)}.hero-stats{display:flex;gap:20px}.stat-card{padding:var(--p-xl) var(--p-2xl);background:var(--bg-default);border:1px solid var(--line);border-radius:var(--radius-lg);display:flex;flex-direction:column}.stat-card span{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-secondary);font-weight:var(--fw-bold)}.stat-card strong{font-size:var(--fs-xl);color:var(--accent)}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;align-items:start}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.capture-card{background:var(--bg-default);padding:var(--p-2xl);border-radius:var(--radius-xl);border:1px solid var(--line);box-shadow:var(--shadow-soft);margin-bottom:24px}.capture-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.active-label{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-secondary);font-weight:var(--fw-bold);display:block}.active-character{font-size:4rem;font-family:var(--font-body),sans-serif;line-height:1}.saved-preview{width:80px;height:80px;border-radius:var(--radius-lg);background:var(--bg-subtle);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.composer-field{display:block;margin-bottom:32px}.composer-field span{display:block;font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-secondary);font-weight:var(--fw-bold);margin-bottom:var(--gap-md)}.composer-field textarea{width:100%;min-height:200px;padding:var(--p-xl);border-radius:var(--radius-lg);border:1px solid var(--line)}.preview-frame{background:var(--bg-default);padding:var(--p-2xl);border-radius:var(--radius-xl);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.editor-layout{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:32px;gap:32px;align-items:start}.field-block{margin-bottom:var(--m-xl)}.field-block input,.field-block textarea{padding:var(--p-xl)}.field-block input,.field-block textarea,.share-row input{width:100%;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-default);color:var(--text-primary);font-size:var(--fs-md);transition:border-color .2s ease,box-shadow .2s ease}.share-row input{height:40px;padding:0 var(--p-xl)}.field-block input:focus,.field-block textarea:focus,.share-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.field-block textarea{min-height:400px;resize:vertical;line-height:1.7}.ghost-button,.ghost-link,.primary-button,.primary-link{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 var(--p-2xl);border-radius:var(--radius-lg);font-size:var(--fs-base);font-weight:var(--fw-semibold);transition:all .2s ease;cursor:pointer;border:1px solid transparent}.primary-button,.primary-link{background:var(--accent);color:white}.primary-button:hover,.primary-link:hover{background:var(--accent-muted)}.ghost-button,.ghost-link{background:var(--bg-default);border-color:var(--line);color:var(--text-primary)}.ghost-button:hover,.ghost-link:hover{background:var(--bg-subtle);border-color:var(--line-strong)}.ghost-button:disabled,.ghost-link:disabled,.primary-button:disabled,.primary-link:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.4);pointer-events:none}.back-button{width:40px;padding:0!important;flex-shrink:0}.back-button svg{width:18px;height:18px}.status-pill{padding:4px 10px;border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--line)}.status-saved{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.status-error{background:#fef2f2;color:#991b1b;border-color:#fecaca}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));grid-gap:4px;gap:4px}.character-chip{aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-default);font-family:var(--font-body),sans-serif;font-size:.95rem;transition:all .2s ease;cursor:pointer}.character-chip:hover{border-color:var(--line-strong);background:var(--bg-subtle)}.character-chip.saved{background:#eefdf5;border-color:#86efac;color:#166534}.character-chip.active{background:var(--accent);color:white;border-color:var(--accent);box-shadow:var(--shadow-soft);z-index:2}.drawing-pad{display:flex;flex-direction:column;align-items:flex-start;width:100%}.drawing-pad canvas{width:min(100%,420px);height:auto;margin-top:18px;border-radius:var(--radius-lg);border:1px solid var(--line);background:white;touch-action:none;box-shadow:var(--shadow-subtle)}.paper-sheet{background:var(--bg-default);padding:32px;border-radius:var(--radius-xl);border:1px solid var(--line);box-shadow:var(--shadow-soft);min-height:400px;display:flex;flex-direction:column;gap:6px}.hand-line{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px;min-height:40px}.hand-word{display:inline-flex;align-items:flex-end;flex-wrap:nowrap;gap:0;white-space:nowrap}.glyph-image{width:auto;height:44px;object-fit:contain;mix-blend-mode:multiply}.hand-word>*+*{margin-left:-6px}.fallback-char{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;font-family:var(--font-body),sans-serif;font-size:1.45rem}.line-break-space{height:44px}.saved-swatch{display:grid;place-items:center;width:72px;height:72px;border-radius:var(--radius-md);border:1px solid var(--line);color:var(--text-secondary)}.envelope-scene,.saved-swatch{background:var(--bg-subtle);overflow:hidden}.envelope-scene{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:44px}.env{width:min(360px,calc(100vw - 48px));aspect-ratio:14/9;position:relative;cursor:-webkit-grab;cursor:grab;perspective:1000px;filter:none;-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.env:active{cursor:-webkit-grabbing;cursor:grabbing}.env--ejecting,.env--reading{cursor:default}.env:focus-visible{outline:2px solid #0077b2;outline-offset:6px;border-radius:6px}.env__back{position:absolute;inset:0;background:#cbd5e1;z-index:0}.env__letter{position:absolute;inset:5%;box-shadow:none;z-index:1;transform:translateY(0);transition:transform .6s cubic-bezier(.22,1,.36,1),z-index .6s}.env__pocket{background:#e5e7eb;-webkit-clip-path:polygon(0 0,50% 50%,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,50% 50%,100% 0,100% 100%,0 100%);z-index:3}.env__flap,.env__pocket{position:absolute;inset:0}.env__flap{background:#cbd5e1;-webkit-clip-path:polygon(0 0,100% 0,50% 50%);clip-path:polygon(0 0,100% 0,50% 50%);transform-origin:top;z-index:5;transform:rotateX(0deg);transition:transform .55s cubic-bezier(.22,1,.36,1),z-index .55s}.env__stamp{position:absolute;bottom:14%;z-index:6;pointer-events:none;filter:none}.env__stamp--right{right:9%;width:26%;aspect-ratio:43/31;transform:rotate(-4deg)}.env__stamp--left{left:9%;width:21%;aspect-ratio:1/1;transform:rotate(4deg)}.env__stamp--postage{right:14%;bottom:11%;width:18%;aspect-ratio:22/25;transform:rotate(-3deg)}.env__stamp--postmark{right:6%;bottom:18%;width:18%;aspect-ratio:1/1;transform:rotate(-12deg);filter:none;opacity:.8}.env__stamp-svg{width:100%;height:100%;display:block;overflow:visible}.env--ejecting .env__flap,.env--open .env__flap{transform:rotateX(180deg);transition:transform .55s cubic-bezier(.22,1,.36,1),z-index .55s;z-index:1}.env--ejecting .env__letter,.env--open .env__letter{z-index:2;transition:transform .6s cubic-bezier(.22,1,.36,1),z-index 1s}.env--ejecting .env__letter{transform:translateY(-65%)}.click-hint{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-secondary);animation:hint-pulse 2.6s ease-in-out infinite}.click-hint__label{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;opacity:.6}@keyframes hint-pulse{0%,to{opacity:.6}50%{opacity:1}}.drag-hint{position:relative;display:grid;place-items:center;min-height:1.2em;pointer-events:none}.drag-hint__label{grid-area:1/1;font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);opacity:0;transition:opacity .45s ease;white-space:nowrap}.drag-hint__label.is-active{opacity:.7}.letter-reading{min-height:100svh;background:var(--bg-subtle);padding:56px 0 80px;animation:letter-appear .45s ease both}.letter-reading__inner{width:min(720px,calc(100vw - 48px));margin:0 auto;display:flex;flex-direction:column;gap:32px}.letter-reading__header{display:flex;flex-direction:column;gap:6px}.letter-reading__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary)}.letter-reading__date{font-size:var(--fs-md);color:var(--text-secondary);margin:0}.letter-reading__footer{align-self:center;margin-top:8px}@keyframes letter-appear{0%{opacity:0}to{opacity:1}}@media (max-width:640px){.envelope-scene{gap:32px}.letter-reading{padding:36px 0 60px}.letter-reading__inner{width:calc(100vw - 32px);gap:24px}.letter-reading__title{font-size:20px}}.note-editor-page{font-family:var(--font-body),sans-serif}.title-area{display:inline-grid;align-items:center;gap:8px;grid-template-columns:min-content min-content}.title-area:before{content:attr(data-value);visibility:hidden;white-space:pre;margin-right:2px}.title-area:before,.title-input-minimal{grid-area:1/1;font-size:var(--fs-2xl);font-weight:var(--fw-bold);font-family:var(--font-body),sans-serif;padding:0}.title-input-minimal{background:transparent;border:none;color:var(--text-primary);width:100%;outline:none}.title-area .status-pill{grid-area:1/2;white-space:nowrap}.title-input-minimal::placeholder{color:var(--text-secondary);opacity:.5}.direct-editor-container{display:flex;flex-direction:column;align-items:center;gap:32px}.paper-editor-wrapper{width:100%;min-height:500px;background:var(--bg-default);border-radius:var(--radius-2xl);border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:40px}@media (max-width:768px){.paper-editor-wrapper{padding:24px;min-height:400px}}@media (max-width:480px){.paper-editor-wrapper{padding:16px;border-radius:var(--radius-xl)}}.glyph-editor{width:100%;min-height:420px;outline:none;font-family:var(--font-body),sans-serif;font-size:44px;line-height:44px;color:var(--text-primary);caret-color:var(--text-primary);white-space:normal;overflow-wrap:break-word;word-break:normal;word-spacing:0}@media (max-width:640px){.glyph-editor{font-size:32px;line-height:32px;min-height:300px}.glyph-editor .fallback-char,.glyph-editor .glyph-image,.glyph-editor .glyph-space,.glyph-editor .glyph-word{height:32px;line-height:32px}.glyph-editor .fallback-char{font-size:1.1rem;min-height:32px}.glyph-editor .glyph-space{width:12px}}.glyph-editor:empty:before{content:attr(data-placeholder);font-size:1.45rem;color:var(--text-secondary);opacity:.3;pointer-events:none}.glyph-editor .glyph-word{display:inline-block;white-space:nowrap;vertical-align:bottom;line-height:44px;max-width:100%}.glyph-editor .glyph-space{width:16px}.glyph-editor .glyph-image,.glyph-editor .glyph-space{display:inline-block;height:44px;vertical-align:bottom}.glyph-editor .glyph-image{width:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-user-drag:none}.glyph-editor .fallback-char{display:inline-block;font-family:var(--font-body),sans-serif;font-size:1.45rem;line-height:44px;vertical-align:bottom;min-height:44px}.glyph-editor .glyph-word>*+*{margin-left:-6px}.character-manager-page{font-family:var(--font-body),sans-serif}.manager-content{display:grid;grid-template-columns:minmax(400px,1.2fr) 1.8fr;grid-gap:48px;gap:48px;align-items:start}.drawing-section{width:100%}.active-character-card{background:var(--bg-default);padding:32px;border-radius:var(--radius-2xl);border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:100%}.drawing-actions,.drawing-pad-container{width:100%;display:flex;justify-content:flex-start}.drawing-actions{gap:12px;margin-top:24px}.character-grid-section{width:100%;display:flex;flex-direction:column;gap:20px}.group-row{display:flex;flex-direction:column;gap:8px}.publish-page.is-editing-attachment .publish-preview{border-radius:var(--radius-xl)}.note-translucent .text-content-layer{opacity:.3;transition:opacity .3s ease}.attachment-overlay{padding:8px;transition:filter .2s ease,transform .1s ease-out}.attachment-overlay[data-type=sticker]{padding:0}.attachment-overlay.is-editing{box-shadow:0 0 0 2px var(--accent)}.attachment-overlay.is-dragging{opacity:.9;box-shadow:none}.attachment-image{width:100%;height:auto;display:block}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.section-header-row .field-label{margin-bottom:0}.header-actions-small{display:flex;gap:4px}.upload-small-btn{width:32px!important;height:32px!important;min-width:32px!important;aspect-ratio:1/1!important;padding:0!important;flex:0 0 32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.layers-panel{gap:8px;background:var(--bg-subtle);padding:8px;border-radius:var(--radius-xl);border:1px solid var(--line)}.layers-empty,.layers-panel{display:flex;flex-direction:column}.layers-empty{align-items:center;justify-content:center;gap:12px;height:120px;color:var(--text-secondary);opacity:.5}.layers-empty p{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.layer-item{display:flex;align-items:center;gap:12px;padding:8px;background:var(--bg-default);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:-webkit-grab;cursor:grab;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.layer-item:hover{border-color:var(--line-strong);box-shadow:var(--shadow-subtle)}.layer-item.active{border-color:var(--accent);background:var(--accent-soft)}.layer-item.dragging{opacity:.5;background:var(--bg-subtle)}.drag-handle{color:var(--text-secondary);opacity:.5;cursor:-webkit-grab;cursor:grab}.layer-preview{width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--line);background:white;overflow:hidden;display:grid;place-items:center}.layer-preview img{width:100%;height:100%;object-fit:cover}.layer-name{flex:1 1;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.layer-actions{display:flex;gap:0}.layer-actions button{width:28px;height:28px;border-radius:var(--radius-md);border:none;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.layer-actions button:hover{color:var(--text-primary)}.layer-actions button.active{color:var(--accent)}.layer-actions button.danger-text:hover{color:var(--accent-error)}.preview-attachment-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transform:scale(.8);transition:all .25s cubic-bezier(.34,1.56,.64,1);pointer-events:auto;z-index:20}.attachment-overlay:hover .preview-attachment-actions{opacity:1;transform:scale(1)}.action-btn{width:28px;height:28px;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.1);background:white;display:grid;place-items:center;cursor:pointer;box-shadow:none;color:var(--text-primary);transition:all .2s ease}.action-btn:hover{transform:scale(1.1)}.delete-btn:hover{background:var(--accent-error);color:white;border-color:var(--accent-error)}.edit-btn:hover{background:var(--accent);color:white;border-color:var(--accent)}.editor-controls{background:none;padding:0;border-radius:0;border:none}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.editor-header .field-label{margin-bottom:0}.control-group{margin-bottom:16px}.control-label{display:block;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-secondary);margin-bottom:8px}.control-group input[type=range]{width:100%}.danger-text{color:var(--accent-error)!important}.square-btn{width:32px;height:32px;padding:0!important}@media (max-width:1024px){.manager-content{grid-template-columns:1fr}.drawing-section{position:static}.character-grid-section{max-height:none;overflow-y:visible}}@media (max-width:640px){.active-character-card{padding:16px;gap:16px}}.publish-layout{display:grid;grid-template-columns:320px 1fr;grid-gap:40px;gap:40px;align-items:start}.publish-controls{display:flex;flex-direction:column;gap:32px}.control-section{display:flex;flex-direction:column;gap:12px}.style-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}@media (max-width:480px){.style-picker{gap:4px}}.style-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:var(--bg-default);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}@media (max-width:480px){.style-btn{padding:8px 4px}.style-btn span{font-size:9px}}.style-btn svg{color:var(--text-secondary)}.style-btn span{font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.style-btn.active,.style-btn:hover{background:var(--bg-subtle);border-color:var(--line-strong)}.style-btn.active,.style-btn.active svg{color:var(--text-primary)}.color-picker{display:flex;flex-wrap:wrap;gap:10px}.color-btn{width:32px;height:32px;border-radius:var(--radius-full);border:1px solid var(--line);cursor:pointer;transition:transform .2s ease,border-color .2s ease}.color-btn:hover{transform:scale(1.1);border-color:var(--line-strong)}.color-btn.active{border-color:var(--line-strong);box-shadow:0 0 0 2px var(--accent-soft)}.tool-btn{width:32px;height:32px;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--bg-default);display:grid;place-items:center;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.tool-btn:hover{border-color:var(--line-strong)}.tool-btn.active{background:var(--accent);color:white;border-color:var(--accent)}.size-picker-small{gap:8px}.size-btn,.size-picker-small{display:flex;align-items:center}.size-btn{width:32px;height:32px;justify-content:center;cursor:pointer;background:var(--bg-default);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text-secondary);transition:all .2s ease}.size-btn.active,.size-btn:hover{border-color:var(--line-strong)}.size-btn.active{background:var(--accent-soft);color:var(--accent)}.placeholder-attachments{background:var(--bg-subtle);border:2px dashed var(--line-strong);border-radius:var(--radius-xl);padding:24px;gap:16px;opacity:.6}.image-placeholder,.placeholder-attachments{display:flex;flex-direction:column;align-items:center}.image-placeholder{gap:8px;color:var(--text-secondary)}.image-placeholder span{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.placeholder-actions{display:flex;gap:8px}.full-width{width:100%}.share-card-compact{margin-top:8px;padding:20px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:12px}.share-card-header{display:flex;align-items:center;gap:10px}.status-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:4px;line-height:1.4;width:-moz-fit-content;width:fit-content}.status-badge--live{background:#dcfce7;color:#15803d;border:1px solid #86efac}.status-badge--draft{background:var(--bg-subtle);color:var(--text-secondary)}.note-card-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.direct-editor-container.is-locked{pointer-events:none;opacity:.6}.title-input-minimal:disabled{background:transparent;color:var(--text-primary);cursor:default;opacity:.75}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;animation:modal-fade .18s ease-out}.modal-card{position:relative;animation:modal-pop .2s cubic-bezier(.22,1,.36,1)}.modal-close{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease}.modal-close:hover{background:var(--bg-subtle);color:var(--text-primary)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.manage-link-copy{flex-shrink:0}.icon-button,.manage-link-copy{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0}.icon-button{margin:0;flex:0 0 40px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-default);color:var(--text-primary);font:inherit;line-height:0;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.icon-button:hover{background:var(--bg-subtle);border-color:var(--line-strong)}.icon-button>svg{display:block;flex-shrink:0}.icon-button--danger:hover{color:#c1493a;border-color:#c1493a;background:var(--bg-default)}.manage-link-card{width:100%;max-width:460px;padding:var(--p-2xl);background:var(--bg-default);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;align-items:stretch;gap:var(--gap-md)}.manage-link-status{align-self:flex-start;margin-bottom:12px}.manage-link-info{display:flex;flex-direction:column;gap:10px}.manage-link-title{margin:0}.manage-link-explanation{margin:0;font-size:var(--fs-md);line-height:1.6;color:var(--text-secondary)}.manage-link-url{display:flex;flex-direction:column;gap:4px;margin-top:16px}.danger-button{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.02em;border-radius:var(--radius-md);border:1px solid #c1493a;background:#c1493a;color:#fffaf7;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .05s ease}.danger-button:hover:not(:disabled){background:#a8443a;border-color:#a8443a}.danger-button:active:not(:disabled){transform:translateY(1px)}.danger-button:disabled{opacity:.6;cursor:not-allowed}.view-link{font-size:var(--fs-sm);margin-top:4px;display:inline-block}.preview-container{width:100%;max-width:800px}.paper-style-lined{background-image:linear-gradient(var(--line-strong) 1px,transparent 1px);background-size:100% 40px;background-attachment:local}.paper-style-grid{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:20px 20px;background-attachment:local}@media (max-width:768px){.publish-layout{grid-template-columns:1fr}.publish-preview{order:-1}.editor-layout{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:28px}.notes-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.decor-card:nth-child(3),.decor-card:nth-child(5){display:none}}@media (max-width:640px){.login-decor-layer{display:none}.login-content{padding:0 32px}.login-content h1{font-size:clamp(26px,8vw,40px)}.notes-grid{grid-template-columns:1fr}.note-card{min-height:160px}.publish-controls{padding:0}}@media (max-width:480px){.publish-layout{gap:24px}.preview-container{max-height:60vh;overflow-y:auto}.active-character-card{padding:12px}}