:root{color-scheme:light;--ground:#d6dded;--ink:#1a2133;--ink-2:#3a4356;--ink-3:#454d60;--muted:#454d60;--glass:rgba(252,253,255,0.62);--glass-2:rgba(252,253,255,0.44);--surface:#f5f7fc;--glass-line:rgba(255,255,255,0.8);--glass-edge:rgba(36,52,88,0.16);--accent:#27407a;--accent-2:#1f6f86;--accent-ink:#f7faff;--accent-soft:rgba(39,64,122,0.12);--wax:#8e2f2a;--danger:#a33a30;--ok:#3d8a68;--ok-ink:#256b4e;--muc-1:#3f63c8;--muc-2:#2a8fa8;--muc-3:#6a5fc0;--muc-do:40%;--lamp:#ffcb8a;--lamp-strength:20%;--toi-goc:rgba(26,40,74,0.22);--t-label:10.5px;--t-small:13px;--t-body:15px;--t-value:clamp(19px,2.4vw,23px);--t-title:clamp(26px,4.6vw,38px);--t-hero:clamp(58px,15vw,128px);--r-sm:12px;--r-md:18px;--r-lg:26px;--r-control:11px;--nhip-nhanh:170ms;--nhip:320ms;--nhip-cham:520ms;--cong:cubic-bezier(0.22,0.61,0.36,1);--fill-accent:linear-gradient(180deg,color-mix(in srgb,var(--accent) 84%,#fff),var(--accent));--lift-accent:inset 0 1px 0 rgba(255,255,255,0.26),0 1px 1px rgba(16,28,58,0.22),0 5px 12px -8px rgba(16,28,58,0.5);--shadow-soft:0 2px 8px -4px rgba(20,34,68,0.2),0 18px 40px -20px rgba(20,34,68,0.3);--shadow-pop:0 8px 20px -10px rgba(20,34,68,0.26),0 30px 60px -26px rgba(20,34,68,0.42);--glow:0 2px 10px -4px rgba(20,34,68,0.24),0 26px 60px -26px rgba(60,96,190,0.42);color-scheme:dark;--ground:#0a1122;--ink:#e7ecfa;--ink-2:#b6c1d9;--ink-3:#a2aec9;--muted:#a2aec9;--glass:rgba(206,224,255,0.07);--glass-2:rgba(206,224,255,0.045);--surface:#151d33;--glass-line:rgba(206,224,255,0.13);--glass-edge:rgba(206,224,255,0.07);--accent:#8fb0ff;--accent-2:#58c2df;--accent-ink:#0a1122;--accent-soft:rgba(143,176,255,0.16);--wax:#e0776a;--danger:#f08a7c;--ok:#4fbf9a;--ok-ink:#63d3ac;--muc-1:#2c4bb4;--muc-2:#17457f;--muc-3:#3b3f9e;--muc-do:36%;--lamp:#ffb968;--lamp-strength:16%;--toi-goc:rgba(0,0,0,0.5);--shadow-soft:0 2px 10px -4px rgba(0,0,0,0.5),0 20px 44px -22px rgba(0,0,0,0.8);--shadow-pop:0 10px 24px -12px rgba(0,0,0,0.6),0 34px 70px -30px rgba(0,0,0,0.9);--lift-accent:inset 0 1px 0 rgba(255,255,255,0.22),0 1px 1px rgba(0,0,0,0.45),0 5px 14px -8px rgba(0,0,0,0.6);--glow:0 2px 12px -4px rgba(0,0,0,0.5),0 30px 70px -28px rgba(80,120,220,0.42)}*{box-sizing:border-box}[role=slider],a,button,label{-webkit-tap-highlight-color:transparent}body{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.gate-hint,.gate-title,.hint,.moment-card,.moment-card *,.note-float,.note-float *,.reader-marks,.reader-marks *,.share-link,.share-link *,[contenteditable],input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-touch-callout:default}body,html{margin:0;padding:0}body{min-height:100vh;min-height:100svh;overflow-x:hidden;background:var(--ground);color:var(--ink);font-size:15px;line-height:1.6;letter-spacing:-.006em;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}.aurora{z-index:-2;background-blend-mode:multiply,multiply,multiply,multiply,normal,normal;background:radial-gradient(124vw 96vh at 6% 30%,color-mix(in srgb,var(--muc-1) var(--muc-do),transparent) 0,color-mix(in srgb,var(--muc-1) calc(var(--muc-do) * .34),transparent) 40%,transparent 74%),radial-gradient(66vw 62vh at 104% 40%,color-mix(in srgb,var(--muc-2) calc(var(--muc-do) * .92),transparent) 0,transparent 66%),radial-gradient(74vw 66vh at 78% 92%,color-mix(in srgb,var(--muc-3) calc(var(--muc-do) * .86),transparent) 0,transparent 70%),radial-gradient(46vw 44vh at 26% 76%,color-mix(in srgb,var(--muc-2) calc(var(--muc-do) * .5),transparent) 0,transparent 64%),radial-gradient(58vw 46vh at 50% 34%,color-mix(in srgb,var(--lamp) var(--lamp-strength),transparent) 0,transparent 64%),radial-gradient(128vw 118vh at 46% 26%,transparent 26%,var(--toi-goc) 100%)}.aurora,.grain{position:fixed;inset:0;pointer-events:none}.grain{z-index:-1;opacity:.4;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes lang-vao{0%{opacity:0;transform:translateY(10px)}}.letter-grid>*{animation:lang-vao var(--nhip-cham) var(--cong) both}.letter-grid>:first-child{animation-delay:0s}.letter-grid>:nth-child(2){animation-delay:60ms}.letter-grid>:nth-child(3){animation-delay:.12s}.letter-grid>:nth-child(4){animation-delay:.18s}.letter-grid>:nth-child(5){animation-delay:.24s}.letter-grid>:nth-child(6){animation-delay:.3s}.letter-grid>:nth-child(7){animation-delay:.36s}.letter-grid>:nth-child(n+8){animation-delay:.42s}.page{max-width:940px;margin:0 auto;padding:26px 16px calc(158px + env(safe-area-inset-bottom, 0px))}.stack{flex-direction:column;gap:14px}.row,.stack{display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px}.spacer{flex:1 1 auto}h1,h2{margin:0;font-family:var(--font-display),system-ui,sans-serif;font-weight:700;letter-spacing:-.03em}h1{font-size:30px;color:var(--ink)}.label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.hint,.label{color:var(--ink-2)}.hint{margin:0;font-size:13px}.hint.danger,.hint.over{color:var(--danger)}button{font:inherit;font-weight:600;color:var(--ink-2);background:var(--glass-2);border:1px solid var(--glass-edge);border-radius:var(--r-sm);padding:9px 15px;cursor:pointer;transition:transform var(--nhip) var(--cong),background var(--nhip) var(--cong),color .2s ease,box-shadow .2s ease}button:not([class]):hover:not(:disabled){color:var(--ink);background:var(--glass);transform:translateY(-1px)}button:active:not(:disabled){transform:scale(.96)}button:disabled{opacity:.3;cursor:not-allowed}button.active,button.primary{color:var(--accent-ink);background:var(--fill-accent);border-color:transparent;box-shadow:var(--lift-accent)}.chip-link:active,button:active:not(:disabled){transform:translateY(1px)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,select,textarea{width:100%;padding:11px 14px;font:inherit;font-size:16px;color:var(--ink);border-radius:var(--r-sm);border:1px solid var(--glass-edge);background:var(--glass-2);transition:border-color var(--nhip) var(--cong),box-shadow var(--nhip) var(--cong)}input::placeholder,textarea::placeholder{color:var(--ink-3)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[readonly]{color:var(--ink-2);background:transparent}input[type=color]{width:38px;height:30px;padding:2px;border:1px solid var(--glass-edge);border-radius:var(--r-control);background:var(--glass);cursor:pointer}input[type=range]{accent-color:var(--accent);width:100%;padding:0;border:none;background:transparent}.image-panel,.page-dots,.panel,.popover,.toolbar{background:var(--glass);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-line),var(--shadow-soft)}.panel{padding:20px 22px}.panel,.toolbar{border-radius:var(--r-lg)}.toolbar{position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom, 0px));max-width:var(--sheet-max,940px);margin:0 auto;z-index:40;display:flex;flex-direction:column;gap:9px;padding:10px;box-shadow:inset 0 1px 0 var(--glass-line),var(--shadow-pop)}.toolbar-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.toolbar-gap{flex:1 1 auto}.seg{position:relative;display:flex;flex:0 1 auto;min-width:0;padding:4px;gap:0;background:var(--glass-2);border:1px solid var(--glass-edge);border-radius:calc(var(--r-control) + 4px)}.seg-thumb{position:absolute;top:4px;left:4px;width:calc((100% - 8px) / var(--seg-count, 4));height:calc(100% - 8px);border-radius:var(--r-control);background:var(--fill-accent);box-shadow:var(--lift-accent);transform:translateX(calc(var(--seg-index, 0) * 100%));transition:transform var(--nhip-cham) var(--cong),opacity var(--nhip) var(--cong);pointer-events:none}.seg-thumb.hidden{opacity:0}.seg-btn{position:relative;z-index:1;display:grid;place-items:center;flex:0 1 auto;width:42px;min-width:32px;height:36px;padding:0;border:none;border-radius:var(--r-control);background:transparent;color:var(--ink-3);box-shadow:none}.seg-btn:hover:not(:disabled){background:transparent;color:var(--ink);transform:none}.seg-btn.on{color:var(--accent-ink);background:transparent;box-shadow:none}.icon-btn{display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:14px;color:var(--ink-3)}.icon-btn:hover:not(:disabled){color:var(--ink)}.toolbar{background:rgba(14,24,52,.84)}.toolbar .icon-btn,.toolbar .seg button{color:var(--ink)}.toolbar .icon-btn svg,.toolbar .page-group svg,.toolbar .seg button svg{stroke-width:2.1}.toolbar .icon-btn:not(.on){background:var(--glass-2);border:1px solid var(--glass-edge)}.toolbar .icon-btn:disabled{color:var(--ink-3);opacity:.45}.toolbar .seg{border-color:color-mix(in srgb,var(--glass-edge) 100%,var(--ink) 18%)}.icon-btn.on{color:var(--accent-ink);background:var(--fill-accent);border-color:transparent;box-shadow:var(--lift-accent)}.icon-btn.danger:hover:not(:disabled){color:var(--danger)}.cta{display:inline-flex;align-items:center;gap:8px;text-decoration:none;padding:12px 22px;font-size:var(--t-body);font-weight:600;color:var(--accent-ink);background:var(--fill-accent);border:none;border-radius:var(--r-control);box-shadow:var(--lift-accent)}.cta:hover:not(:disabled){color:var(--accent-ink);filter:brightness(1.05);transform:translateY(-2px)}.swatch-dot{width:22px;height:22px;border-radius:50%;box-shadow:0 0 0 2px var(--glass-line),0 2px 6px -2px rgba(20,34,68,.6)}.size-dot{border-radius:50%;background:currentColor}.pop-anchor{position:relative;display:flex}.popover{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);z-index:30;background:color-mix(in srgb,var(--surface) 94%,transparent);min-width:232px;display:flex;flex-direction:column;gap:12px;padding:15px;border-radius:22px;box-shadow:inset 0 1px 0 var(--glass-line),var(--shadow-pop);animation:pop-in var(--nhip) var(--cong);max-height:min(70vh,460px);overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.popover.below{top:calc(100% + 12px);bottom:auto}@keyframes pop-in{0%{opacity:0;filter:blur(6px)}}.pop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink-2)}.pop-label{font-size:10px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em}.pop-hint{margin:0;font-size:12px;color:var(--ink-3)}.pop-divider{height:1px;background:var(--glass-edge)}.swatch-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.swatch{width:100%;aspect-ratio:1;padding:0;border:none;border-radius:50%;box-shadow:0 0 0 1px var(--glass-edge),0 3px 8px -3px rgba(20,34,68,.5)}.swatch:hover:not(:disabled){transform:scale(1.12)}.swatch.on{box-shadow:0 0 0 3px var(--glass-line),0 0 0 5px var(--accent)}.size-row{display:flex;align-items:center;justify-content:space-between;gap:4px}.size-opt{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:var(--r-control);color:var(--ink);background:transparent;border-color:transparent}.size-opt.on{background:var(--accent-soft);border-color:var(--accent)}.chip-row{display:flex;gap:6px}.chip{flex:1 1;padding:7px 6px;font-size:12px;border-radius:calc(var(--r-control) + 4px)}.chip.on{color:var(--accent-ink);background:var(--fill-accent);border-color:transparent;box-shadow:var(--lift-accent)}.paper-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px}.paper-row.wide{min-width:282px}.paper-chip{display:flex;flex-direction:column;align-items:center;gap:7px;padding:9px 6px;font-size:12px;border-radius:16px;background:transparent;border-color:transparent;box-shadow:none}.paper-chip:hover:not(:disabled){background:var(--glass-2)}.paper-chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);box-shadow:none}.paper-preview{display:block;border-radius:6px;box-shadow:0 0 0 1px var(--glass-edge),0 6px 16px -8px rgba(20,34,68,.6)}.page-group{display:flex;align-items:center;gap:2px}.page-dot{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:none;border-radius:999px;background:transparent;color:var(--ink-3);box-shadow:none}.page-dot:hover:not(:disabled){background:var(--glass-2);color:var(--ink)}.page-dot.on{color:var(--accent-ink);background:var(--fill-accent);box-shadow:var(--lift-accent)}.paper-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(152px,1fr));grid-gap:12px;gap:12px}.paper-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:13px;border:1px solid var(--glass-edge);border-radius:20px;background:var(--glass-2);box-shadow:none}.paper-card:hover{background:var(--glass);transform:translateY(-3px)}.paper-card span{font-size:13px;color:var(--ink-2)}.paper-card.active{border-color:var(--accent);background:var(--glass);box-shadow:0 0 0 1px var(--accent),var(--shadow-soft)}.paper-card.active span{color:var(--ink);font-weight:700}@media (max-width:560px){.paper-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:-22px;padding-inline:22px;scroll-padding-inline:22px;padding-block:4px}.paper-card{flex:0 0 auto;scroll-snap-align:start}.paper-card:hover{transform:none}}.img-frame{transform-origin:center center;border:2px solid var(--accent);border-radius:4px;box-sizing:border-box;cursor:move}.img-frame,.img-handle{position:absolute;touch-action:none}.img-handle{width:26px;height:26px;padding:0;border-radius:50%;border:2px solid #fff;background:var(--fill-accent);box-shadow:var(--lift-accent)}.img-handle.resize{right:-13px;bottom:-13px;cursor:nwse-resize}.img-handle.rotate{left:50%;top:-34px;margin-left:-13px;cursor:-webkit-grab;cursor:grab}.image-panel{position:absolute;z-index:25;background:color-mix(in srgb,var(--surface) 94%,transparent);display:flex;flex-direction:column;gap:9px;width:max-content;max-width:min(92vw,352px);padding:12px 14px;border-radius:20px;box-shadow:inset 0 1px 0 var(--glass-line),var(--shadow-pop);animation:pop-in var(--nhip) var(--cong)}.image-panel-row{display:flex;align-items:center;gap:9px}.image-panel-row .label{min-width:42px}.image-panel .chip-row{flex:1 1 auto;flex-wrap:wrap;gap:5px}.image-panel .chip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:32px;padding:6px 12px}.frame-swatch{width:26px;height:26px;padding:0;border:none;border-radius:50%;box-shadow:0 0 0 1px var(--glass-edge)}.frame-swatch.on{box-shadow:0 0 0 3px var(--glass-line),0 0 0 5px var(--accent)}.image-panel-actions{display:flex;gap:7px;padding-top:3px}.image-panel-actions button{flex:1 1 auto;padding:8px 14px;font-size:13px}.chip-link{font-size:var(--t-small);font-weight:600;padding:7px 13px;border:1px solid transparent;border-radius:var(--r-control);background:transparent;color:var(--ink-2);text-decoration:none;transition:transform var(--nhip) var(--cong),color var(--nhip) var(--cong)}@media (pointer:coarse){.chip-link{min-height:44px;display:inline-flex;align-items:center}}.chip-link:hover{color:var(--ink);background:var(--glass-2);border-color:var(--glass-edge)}.chip-link.on{color:var(--accent-ink);background:var(--fill-accent);border-color:transparent;box-shadow:var(--lift-accent)}.chip-link.active{color:var(--ink);background:transparent;border-color:transparent;background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-size:calc(100% - 26px) 2px;background-position:13px calc(50% + .75em)}.lang-ngan{display:none}@media (max-width:560px){.lang-dai{display:none}.lang-ngan{display:inline}}.chip-link.active:hover{background-color:var(--glass-2);border-color:var(--glass-edge)}.dau-trang{gap:12px;align-items:flex-start}.dau-trang-ten{min-width:0}.dau-trang-tieu-de{margin:0;font-family:var(--font-display),Georgia,serif;font-size:clamp(21px,3.4vw,28px);line-height:1.15}.dau-trang-link{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}@media (max-width:560px){.dau-trang-link{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;width:100%;margin-inline:-6px;padding-inline:6px}.dau-trang-link .chip-link,.dau-trang-link>*{flex:0 0 auto}.dau-trang .spacer{display:none}}.mo-dau{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:14px}.mo-dau-chu{min-width:0}.mo-dau-ten{margin:0;font-family:var(--font-display),Georgia,serif;font-size:clamp(40px,7.4vw,72px);font-weight:700;line-height:1.02;letter-spacing:-.02em;text-wrap:balance}.net-muc{display:block;width:min(100%,320px);height:auto;margin:6px 0 0 2px;color:var(--accent);opacity:.85}.net-muc path{stroke-dasharray:1;stroke-dashoffset:1;animation:viet-net 1.5s cubic-bezier(.32,.5,.24,1) .26s both}@keyframes viet-net{to{stroke-dashoffset:0}}.mo-dau-loi{margin:12px 0 0;max-width:min(100%,42ch);font-size:var(--t-body);color:var(--ink-2);text-wrap:pretty}.mo-dau-dieu-khien{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}@media (max-width:560px){.mo-dau{flex-direction:column-reverse;align-items:stretch;gap:14px}.mo-dau-dieu-khien{justify-content:flex-start;margin-left:-6px}}@media (prefers-reduced-motion:reduce){.net-muc path{animation:none;stroke-dashoffset:0}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:14px;gap:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stats div span{display:block;font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em}.stats div b{font-size:20px;font-weight:800;letter-spacing:-.02em}.ok{color:var(--ok-ink)}.over{color:var(--danger)}.zoom-group{display:flex;align-items:center;gap:2px;padding:3px;background:var(--glass-2);border:1px solid var(--glass-edge);border-radius:calc(var(--r-control) + 4px)}.zoom-group .icon-btn{width:34px;height:32px}.zoom-group .icon-btn,.zoom-level{border:none;background:transparent;border-radius:var(--r-control)}.zoom-level{min-width:52px;padding:5px 4px;font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-3)}.zoom-level:not(:disabled){color:var(--accent)}.sticker-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px;min-width:268px}.sticker-btn{display:grid;place-items:center;aspect-ratio:1;padding:6px;background:transparent;border:1px solid transparent;border-radius:12px}.sticker-btn:hover:not(:disabled){background:var(--glass-2);border-color:var(--glass-edge);transform:scale(1.1)}.sticker-btn{font-family:var(--font-emoji),"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:26px;line-height:1}.envelope-stage{--env-open:5200ms;--env-paper:#f2ece0;--env-paper-lit:#f8f4ea;--env-fold:#e6dcc9;--env-wax:#9d2235;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:min(74dvh,640px);gap:26px;padding:34px 0 10px}@media (max-height:520px){.envelope-stage{min-height:0;gap:14px;padding:10px 0 6px}.envelope{width:min(300px,56vw)}}.envelope{position:relative;width:min(360px,82vw);aspect-ratio:3/2;perspective:1100px;--env-meet:62%}@keyframes env-breathe{50%{transform:translateY(-4px) rotate(-.35deg)}}.envelope{animation:env-breathe 6.5s ease-in-out infinite}.env-body,.env-flap,.env-front{position:absolute;inset:0;border-radius:10px}.env-body{box-shadow:0 2px 4px -2px rgba(74,58,30,.28),0 22px 44px -20px rgba(74,58,30,.5);z-index:2}.env-body,.env-front{background:var(--env-paper)}.env-front{-webkit-clip-path:polygon(0 22%,50% var(--env-meet),100% 22%,100% 100%,0 100%);clip-path:polygon(0 22%,50% var(--env-meet),100% 22%,100% 100%,0 100%);box-shadow:0 -1px 0 rgba(120,100,60,.13);z-index:3}.env-front:before{content:"";position:absolute;inset:0;opacity:.5;background:repeating-linear-gradient(90deg,rgba(120,100,60,.05) 0 1px,transparent 1px 4px);pointer-events:none}.env-address{position:absolute;left:9%;right:46%;bottom:12%;margin:0;display:flex;flex-direction:column;gap:2px;text-align:left}.env-address span{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(90,74,44,.55)}.env-address b{font-family:var(--font-display),Georgia,serif;font-size:clamp(19px,5.4vw,25px);font-weight:500;line-height:1.1;letter-spacing:-.015em;color:#3a2f1c;font-variation-settings:"SOFT" 24,"WONK" 1,"opsz" 26;overflow-wrap:anywhere}.env-tem{position:absolute;right:6.5%;top:33%;width:19%;aspect-ratio:4/5;transform:rotate(3deg);z-index:1;filter:drop-shadow(0 1px 1px rgba(20,20,40,.35)) drop-shadow(0 4px 6px rgba(20,20,40,.28))}.env-tem-giay,.env-tem-giay img{position:absolute;inset:0}.env-tem-giay img{width:100%;height:100%;display:block}.reading-room .env-tem{perspective:300px;animation:tem-hien 60ms var(--tem-cho,3.8s) ease-out both}@keyframes tem-hien{0%{opacity:0}to{opacity:1}}.env-tem-giay.bay{display:none}.reading-room .env-tem-giay.dinh{animation:tem-dinh 2.6s var(--tem-cho,3.8s) cubic-bezier(.42,.02,.28,1) both}@keyframes tem-dinh{0%{-webkit-clip-path:polygon(0 0,0 0,0 0);clip-path:polygon(0 0,0 0,0 0)}to{-webkit-clip-path:polygon(0 0,230% 0,0 230%);clip-path:polygon(0 0,230% 0,0 230%)}}.reading-room .env-tem-giay.bay{display:block;animation:tem-bay 2.6s var(--tem-cho,3.8s) cubic-bezier(.42,.02,.28,1) both}.reading-room .env-tem-giay.bay:after{content:"";position:absolute;inset:2.5%;background:linear-gradient(135deg,rgba(20,20,40,.34),rgba(255,255,255,.22) 38%,rgba(20,20,40,.16))}@keyframes tem-bay{0%{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0);transform-origin:0 0;transform:rotate3d(1,-1,0,58deg);opacity:1}90%{opacity:1}to{-webkit-clip-path:polygon(230% 0,100% 0,100% 100%,0 100%,0 230%);clip-path:polygon(230% 0,100% 0,100% 100%,0 100%,0 230%);transform-origin:115% 115%;transform:rotate3d(1,-1,0,58deg);opacity:0}}.env-tem-mep{position:absolute;inset:-60%;pointer-events:none;opacity:0;background:linear-gradient(135deg,transparent 46%,rgba(20,20,40,.26) 50%,rgba(20,20,40,.08) 54%,transparent 58%)}.reading-room .env-tem-mep{animation:tem-mep 2.6s var(--tem-cho,3.8s) cubic-bezier(.42,.02,.28,1) both}@keyframes tem-mep{0%{opacity:1;transform:translate(-58%,-58%)}92%{opacity:1}to{opacity:0;transform:translate(62%,62%)}}.reading-room .envelope-stage.co-tem .envelope-caption{animation-delay:calc(var(--tem-cho, 3.8s) + 2.7s)}@media (prefers-reduced-motion:no-preference){.reading-room .envelope-stage.co-tem:not(.tem-san-sang) .env-open-btn,.reading-room .envelope-stage.co-tem:not(.tem-san-sang) .envelope-caption{animation-play-state:paused}}.reading-room .envelope-stage.co-tem .env-open-btn:not(.gone){animation-delay:calc(var(--tem-cho, 3.8s) + 3.1s),calc(var(--tem-cho, 3.8s) + 4s)}@media (prefers-reduced-motion:reduce){.reading-room .env-tem-giay.bay{display:none}.reading-room .env-tem,.reading-room .env-tem-giay.bay,.reading-room .env-tem-giay.dinh,.reading-room .env-tem-mep,.reading-room .envelope-caption,.reading-room .envelope-stage .env-address b,.reading-room .envelope-stage .env-address span,.reading-room .envelope-stage .env-from b,.reading-room .envelope-stage .env-from span,.reading-room .envelope-stage.co-tem .envelope-caption{animation-duration:1ms;animation-delay:0s}.reading-room .env-open-btn:not(.gone),.reading-room .envelope-stage.co-tem .env-open-btn:not(.gone){animation:none}}.env-postmark{z-index:2}.the-qua-xem canvas{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 12px 30px -16px rgba(0,0,0,.6)}.the-qua-cong{align-items:center;gap:8px 12px;flex-wrap:wrap}.the-qua-cong input[type=range]{flex:1 1 140px;min-width:120px}.mau-giay{display:flex;align-items:center;gap:8px}.mau-giay-o{width:28px;height:28px;border-radius:50%;border:2px solid var(--glass-edge);padding:0;cursor:pointer;box-shadow:none}.mau-giay-o.sao{background:radial-gradient(circle at 30% 35%,#fff 0 1.2px,transparent 1.6px),radial-gradient(circle at 68% 60%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 55% 25%,#fff 0 .8px,transparent 1.2px),radial-gradient(circle at 40% 75%,#fff 0 .8px,transparent 1.2px),radial-gradient(120% 90% at 50% 0,#101c3a 0,#060b18 100%)}.mau-giay-o.on{border-color:var(--nut-chinh,var(--accent));box-shadow:0 0 0 2px rgba(255,255,255,.35)}.mau-giay input[type=color]{width:28px;height:28px;padding:0;border-radius:50%;border:2px dashed var(--glass-edge);background:none;cursor:pointer}.qr-tu-to-cuon{max-width:100%;max-height:70vh;overflow:auto;border-radius:12px;border:1px solid var(--glass-edge);background:#fff;touch-action:none}.qr-tu-to-cuon.keo{touch-action:auto;cursor:-webkit-grab;cursor:grab}.qr-tu-to-cuon.keo canvas{pointer-events:none}.qr-tu-to-khung{position:relative;aspect-ratio:1;background:#fff}.qr-tu-to-cong{align-items:center;gap:8px 12px;flex-wrap:wrap}.qr-tu-to-khung canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.qr-tu-to-khung canvas+canvas{cursor:crosshair}.tem-row{align-items:flex-start;gap:14px}.tem-xem{flex:0 0 auto;width:64px;aspect-ratio:4/5;border-radius:4px;background:var(--glass-2);border:1px solid var(--glass-edge);overflow:hidden;display:grid;place-items:center}.tem-xem img{width:100%;height:100%;object-fit:cover;display:block}.tem-trong{width:60%;height:60%;border:1px dashed var(--glass-edge);border-radius:3px}.tem-nut{gap:6px;min-width:0}.env-postmark{position:absolute;right:8%;top:27%;width:74px;height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1.5px solid var(--accent);border-radius:50%;transform:rotate(-13deg);opacity:.42;color:var(--accent);pointer-events:none}.env-postmark:after,.env-postmark:before{content:"";position:absolute;left:12%;right:12%;height:1px;background:currentColor}.env-postmark:before{top:26%}.env-postmark:after{bottom:26%}.env-postmark span{font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.env-postmark b{font-size:10.5px;font-weight:700;letter-spacing:.04em}.env-flap{height:var(--env-meet);inset:0 0 auto 0;background:linear-gradient(196deg,var(--env-paper-lit),var(--env-fold));-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transform:rotateX(0deg);z-index:4;will-change:transform,filter}@keyframes env-flap-open{0%{transform:rotateX(0deg);filter:brightness(1);z-index:4;animation-timing-function:cubic-bezier(.7,0,.62,.32)}54%{z-index:4}55%{transform:rotateX(-96deg);filter:brightness(.72);z-index:-1;animation-timing-function:cubic-bezier(.22,.58,.18,1)}to{transform:rotateX(-166deg);filter:brightness(.88);z-index:-1}}.envelope-stage.opening .env-flap{animation:env-flap-open calc(var(--env-open) * .4) calc(var(--env-open) * .22) both;z-index:-1;pointer-events:none}.env-letter{position:absolute;left:7%;right:7%;bottom:6%;height:86%;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:18px 20px;background:#fdf6e6;border-radius:5px;box-shadow:0 -2px 14px -6px rgba(0,0,0,.3);transform-origin:50% 94%;transform:translateY(6%);z-index:1;overflow:hidden;will-change:transform}@keyframes env-letter-rise{0%{transform:translateY(6%) rotateX(0deg) rotate(0deg) scale(.985);box-shadow:0 -2px 14px -6px rgba(0,0,0,.3);animation-timing-function:cubic-bezier(.6,0,.5,.4)}30%{transform:translateY(-14%) rotateX(15deg) rotate(-1.4deg) scale(.99);box-shadow:0 6px 16px -8px rgba(74,58,30,.5);animation-timing-function:cubic-bezier(.3,.6,.3,1)}62%{transform:translateY(-40%) rotateX(7deg) rotate(-.6deg) scale(.995);animation-timing-function:cubic-bezier(.2,.7,.24,1)}88%{transform:translateY(-64%) rotateX(1.5deg) rotate(-.2deg) scale(1.002);animation-timing-function:cubic-bezier(.32,0,.28,1)}to{transform:translateY(-62%) rotateX(0deg) rotate(0deg) scale(1);box-shadow:0 16px 34px -14px rgba(74,58,30,.45)}}.env-letter:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(86,68,34,.2),rgba(86,68,34,.06) 14%,rgba(255,255,255,.62) 34%,rgba(255,255,255,0) 52%,rgba(86,68,34,.09) 78%,rgba(86,68,34,.16));background-size:100% 230%;background-position:0 0;opacity:0;pointer-events:none;z-index:1}@keyframes env-curl{0%{opacity:0;background-position:0 0}26%{opacity:1;background-position:0 26%}70%{opacity:.7;background-position:0 72%}to{opacity:0;background-position:0 100%}}.envelope-stage.opening .env-letter:before{animation:env-curl calc(var(--env-open) * .52) calc(var(--env-open) * .44) both}.envelope-stage.opening .env-letter{animation:env-letter-rise calc(var(--env-open) * .52) calc(var(--env-open) * .44) both}.env-letter:after{content:"";position:absolute;inset:-40% -60%;background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.85) 50%,transparent 62%);opacity:0;pointer-events:none}.envelope-stage.opening .env-letter:after{animation:env-sheen calc(var(--env-open) * .26) calc(var(--env-open) * .52) both ease-in-out}@keyframes env-sheen{0%{opacity:0;transform:translateX(-58%)}40%{opacity:.75}to{opacity:0;transform:translateX(58%)}}.env-letter-to{margin:0 0 3px;font-family:var(--font-display),Georgia,serif;font-size:15px;font-weight:500;line-height:1.2;color:#4a3f2a;font-variation-settings:"SOFT" 26,"WONK" 1,"opsz" 18;overflow-wrap:anywhere}.env-letter span{display:block;height:5px;border-radius:99px;background:#d9d3c4}.env-letter span:first-of-type{width:88%}.env-letter span:nth-of-type(2){width:76%}.env-letter span:nth-of-type(3){width:84%}.env-letter span:nth-of-type(4){width:52%}@keyframes env-settle{to{transform:translateY(14px) scale(.965)}}.envelope-stage.opening .envelope{animation:env-settle calc(var(--env-open) * .7) calc(var(--env-open) * .3) both cubic-bezier(.33,0,.2,1)}.env-seal{position:absolute;left:50%;top:54%;z-index:5;display:grid;place-items:center;width:62px;height:62px;margin:-31px 0 0 -31px;padding:0;border:none;border-radius:var(--seal-radius,50%);-webkit-clip-path:var(--seal-clip,none);clip-path:var(--seal-clip,none);background:radial-gradient(ellipse 30% 20% at 29% 19%,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%),radial-gradient(ellipse 120% 95% at 30% 16%,color-mix(in srgb,var(--env-wax) 68%,#fff) 0,transparent 58%),radial-gradient(circle at 50% 50%,transparent 56%,color-mix(in srgb,var(--env-wax) 78%,#000) 100%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='v'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.16 0'/></filter><rect width='100%' height='100%' filter='url(%23v)'/></svg>"),var(--env-wax);box-shadow:inset 0 2px 2px color-mix(in srgb,var(--env-wax) 50%,#fff),inset 0 -4px 6px color-mix(in srgb,var(--env-wax) 55%,#000),inset 0 0 0 1px color-mix(in srgb,var(--env-wax) 75%,#000);filter:drop-shadow(0 1px 1px rgba(28,8,12,.36)) drop-shadow(0 5px 8px rgba(28,8,12,.3));cursor:pointer;transition:transform var(--nhip-cham) var(--cong);overflow:hidden}.style-flip .env-face-back .env-seal{filter:none;box-shadow:inset 0 2px 2px color-mix(in srgb,var(--env-wax) 58%,#fff),inset 0 -3px 5px color-mix(in srgb,var(--env-wax) 55%,#000),inset 0 0 12px -1px color-mix(in srgb,var(--env-wax) 72%,#000),0 1px 1px rgba(28,8,12,.36),0 5px 8px rgba(28,8,12,.3)}.env-seal:disabled{opacity:1;cursor:default}.env-seal:after{content:"";position:absolute;inset:-40% -60%;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.34) 50%,transparent 60%);transform:translateX(-120%);animation:seal-glint 5s ease-in-out 1.5s infinite}@keyframes seal-glint{0%,70%,to{transform:translateX(-120%)}85%{transform:translateX(120%)}}@media (prefers-reduced-motion:reduce){.env-seal:after,.style-flip.pha-mat-sap .env-face-back:after{animation:none}}.env-seal:before{content:"";position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,transparent 76%,rgba(0,0,0,.32) 79%,rgba(255,255,255,.22) 84%,transparent 87%),radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--env-wax) 86%,#000) 0,color-mix(in srgb,var(--env-wax) 93%,#000) 62%,color-mix(in srgb,var(--env-wax) 76%,#000) 100%);box-shadow:inset 0 2px 4px rgba(0,0,0,.45),inset 0 -1px 1px rgba(255,255,255,.22),0 1px 0 color-mix(in srgb,var(--env-wax) 58%,#fff),0 -1px 1px rgba(0,0,0,.35);pointer-events:none}.env-seal span{position:relative;z-index:1;font-family:var(--font-display),Georgia,serif;font-size:24px;font-weight:700;line-height:1;color:color-mix(in srgb,var(--env-wax) 46%,#000);text-shadow:0 1px 0 color-mix(in srgb,var(--env-wax) 58%,#fff),0 -1px 1px rgba(0,0,0,.55),0 0 2px rgba(0,0,0,.25);font-variation-settings:"SOFT" 30,"WONK" 1,"opsz" 26}.env-seal:hover:not(:disabled){transform:scale(1.06) rotate(-3deg)}@keyframes env-seal-break{0%{transform:translateY(0) rotate(0deg) scale(1);opacity:1;animation-timing-function:cubic-bezier(.85,0,.9,.35)}38%{transform:translateY(-1px) rotate(-4deg) scale(1.14);opacity:1;animation-timing-function:cubic-bezier(.2,.9,.35,1)}56%{transform:translateY(-5px) rotate(-13deg) scale(1.04);opacity:1;animation-timing-function:cubic-bezier(.22,.62,.3,1)}72%{transform:translateY(-7px) rotate(-25deg) scale(1.02);opacity:1;animation-timing-function:ease-in}86%{transform:translateY(34px) rotate(-48deg) scale(1);opacity:1;animation-timing-function:ease-in}94%{transform:translateY(96px) rotate(-74deg) scale(.99);opacity:1;animation-timing-function:ease-in}to{transform:translateY(152px) rotate(-96deg) scale(.98);opacity:0}}.envelope-stage.opening .env-seal{animation:env-seal-break calc(var(--env-open) * .26) both;pointer-events:none}.envelope-caption{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.env-open-btn{transition:opacity .3s ease,transform .3s cubic-bezier(.33,0,.2,1)}.env-open-btn.gone{opacity:0;transform:translateY(4px) scale(.97);pointer-events:none}.envelope-title{margin:0;text-wrap:balance;font-family:var(--font-display),Georgia,serif;font-size:var(--t-title);font-weight:500;line-height:1.2;letter-spacing:-.02em;font-variation-settings:"SOFT" 24,"WONK" 1,"opsz" 34}@keyframes env-handoff{0%,82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.envelope-stage.opening{animation:env-handoff var(--env-open) both cubic-bezier(.4,0,.5,1)}@media (prefers-reduced-motion:reduce){@keyframes env-handoff{0%,82%{opacity:1}to{opacity:0}}}@keyframes env-fade-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.env-open-btn,.env-seal{transition:none}}.reader-center{align-items:center;text-align:center;margin:40px auto 0;max-width:460px}.reader-center .cta{text-decoration:none}.letter-meta .hint{font-size:12px}.letter-name{font-size:20px;font-weight:500;line-height:1.2;letter-spacing:-.01em;font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 22}.letter-actions .chip-link{font-size:12px;padding:5px 10px}.chip-link.danger{color:var(--danger,#b03a48)}.callout{margin:0;padding:10px 14px;border-radius:12px;border:1px solid var(--glass-edge);background:var(--glass-2);font-size:13px;line-height:1.55}.callout a{color:var(--accent);font-weight:600;text-underline-offset:3px}.replay-stage{--letter-enter:820ms;position:relative}@keyframes letter-enter{0%{opacity:0;transform:scale(.94) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}.replay-paper.waking{animation:letter-fade-in .42s ease-out both}.replay-paper.entering{animation:letter-enter var(--letter-enter) backwards cubic-bezier(.22,.88,.28,1)}@media (prefers-reduced-motion:reduce){.replay-stage{--letter-enter:320ms}.replay-paper.entering{animation-name:letter-fade-in}}@keyframes letter-fade-in{0%{opacity:0}}.trang-cuon{position:absolute;top:0;left:0;width:100%;height:auto;z-index:3;pointer-events:none}.dock{position:fixed;left:13px;right:13px;bottom:calc(14px + env(safe-area-inset-bottom, 0px));max-width:940px;margin:0 auto;z-index:40;display:flex;flex-direction:column;gap:10px;padding:12px 14px 10px;border-radius:20px;border:1px solid var(--glass-line);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:var(--shadow-pop);opacity:.3;transform:translateY(6px);transition:opacity .26s ease,transform .26s cubic-bezier(.22,1,.36,1)}.dock.awake,.dock:focus-within,.dock:hover{opacity:1;transform:translateY(0)}@media (hover:none){.dock{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.letter-thumb{transition:none}.dock,.letter-card:hover .letter-thumb{transform:none}.dock{transition:none}}.dock-row{display:flex;align-items:center;gap:8px}.dock-play{display:grid;place-items:center;width:46px;height:46px;flex:none;padding:0;border:none;border-radius:50%;color:var(--accent-ink);background:var(--fill-accent);box-shadow:var(--lift-accent);cursor:pointer;transition:transform var(--nhip) var(--cong)}.dock-play:hover{transform:scale(1.06)}.dock-play:active{transform:scale(.96)}.dock-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;padding:0;border:1px solid transparent;border-radius:11px;color:var(--ink-2);background:transparent;cursor:pointer;transition:background var(--nhip) var(--cong),color var(--nhip) var(--cong)}.dock-icon.on,.dock-icon:hover{color:var(--accent);background:var(--glass-2);border-color:var(--glass-edge)}.dock-time{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.dock-time i{opacity:.45;font-style:normal;padding:0 1px}.dock-page{font-size:12px;padding:4px 10px;border-radius:var(--r-control);background:var(--glass-2);border:1px solid var(--glass-edge);white-space:nowrap}.dock-menu-wrap{position:relative;flex:none}.dock-menu{overscroll-behavior:contain;position:absolute;right:0;bottom:calc(100% + 10px);z-index:4;display:flex;flex-direction:column;gap:8px;min-width:210px;padding:12px;border-radius:16px;border:1px solid var(--glass-edge);background:#faf7f1;box-shadow:var(--shadow-pop);background:#211c17}.dock-speeds{display:flex;gap:4px}.dock-speeds button{flex:1 1;padding:6px 0;font-size:12px;border-radius:9px}.dock-menu-item{display:flex;align-items:center;gap:8px;justify-content:flex-start;width:100%;font-size:13px}.dock .scrub{position:relative}.scrub-rail{padding:8px 0 6px;cursor:pointer;touch-action:none}.scrub-chapters{position:absolute;inset:8px 0 6px;pointer-events:none}.scrub-chapters .scrub-page{pointer-events:auto}.scrub-track{position:relative;height:26px}.scrub-wave{position:absolute;inset:0;display:flex;align-items:center;gap:2px;pointer-events:none}.scrub-wave i{flex:1 1;min-width:0;border-radius:2px;background:var(--ink);opacity:.16}.scrub-wave.played{-webkit-clip-path:inset(0 calc(100% - var(--played)) 0 0);clip-path:inset(0 calc(100% - var(--played)) 0 0)}.scrub-wave.played i{background:linear-gradient(180deg,var(--accent),var(--accent-2));opacity:1}.scrub-thumb{width:3px;height:100%;margin-left:-1.5px;border-radius:2px;transform:translateY(-50%);pointer-events:none}.scrub-thumb,.scrub-thumb:after{position:absolute;top:50%;background:var(--accent)}.scrub-thumb:after{content:"";left:50%;width:13px;height:13px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 1px 4px rgba(16,28,58,.34);transform:translate(-50%,-50%);transition:width var(--nhip-nhanh) var(--cong),height var(--nhip-nhanh) var(--cong)}.scrub-rail:active .scrub-thumb:after,.scrub-rail:hover .scrub-thumb:after{width:17px;height:17px}.scrub-rail:active{cursor:-webkit-grabbing;cursor:grabbing}.dock-save{display:inline-flex;align-items:center;gap:6px;width:auto;padding:0 12px;font-size:13px;white-space:nowrap}@media (max-width:560px){.dock-save span{display:none}.dock-save{padding:0;width:36px}}.scrub:focus-visible .scrub-thumb,.scrub:hover .scrub-thumb{opacity:1}.scrub-pause{top:-1px;width:4px;height:4px;margin-left:-2px;border-radius:50%;opacity:.4;pointer-events:none}.scrub-page,.scrub-pause{position:absolute;background:var(--ink)}.scrub-page{top:-3px;bottom:-3px;width:2px;margin:0 0 0 -1px;padding:0;border:none;border-radius:2px;opacity:.5;cursor:pointer;transition:opacity var(--nhip-nhanh) var(--cong)}.scrub-page:after{content:"";position:absolute;inset:-4px -7px}.scrub-page:hover{opacity:1}.scrub-tip{position:absolute;bottom:calc(100% - 4px);transform:translateX(-50%);padding:3px 8px;border-radius:8px;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--accent-ink);background:var(--ink);pointer-events:none}.dock-ve-dau-menu{display:none}@media (max-width:460px){.dock-row{gap:6px}.dock-time{font-size:12px}.dock-row .dock-icon{width:32px;height:32px}.dock-toi-cuoi,.dock-ve-dau{display:none}.dock-ve-dau-menu{display:flex}.dock{bottom:calc(8px + env(safe-area-inset-bottom, 0px));padding:10px 10px 8px}.dock-page{display:none}}.field{display:flex;flex-direction:column;gap:6px}.moment{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--ground) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:moment-in .62s cubic-bezier(.22,.88,.28,1) both}@keyframes moment-in{0%{opacity:0}}.moment-card{animation:moment-card-in .62s cubic-bezier(.22,.88,.28,1) 90ms both}@keyframes moment-card-in{0%{opacity:0;transform:translateY(18px) scale(.965)}}.moment.leaving{animation:moment-out .42s cubic-bezier(.4,0,.7,.3) both;pointer-events:none}@keyframes moment-out{to{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}.moment.leaving .moment-card{animation:moment-card-out .3s cubic-bezier(.45,0,.75,.35) both}@keyframes moment-card-out{to{opacity:0;transform:translateY(-22px) scale(.975)}}@media (prefers-reduced-motion:reduce){.moment.leaving{animation-name:moment-out-fade}.moment-card{animation-name:moment-card-in-fade}.moment.leaving .moment-card{animation-name:moment-card-out-fade}}@keyframes moment-out-fade{to{opacity:0}}@keyframes moment-card-in-fade{0%{opacity:0}}@keyframes moment-card-out-fade{to{opacity:0}}.moment-card{align-items:center;text-align:center;max-width:380px;gap:14px}.moment-lead{margin:0;font-family:var(--font-display),system-ui,sans-serif;font-size:clamp(17px,3.4vw,21px);font-weight:700;line-height:1.45;letter-spacing:-.015em;text-wrap:balance}.moment-actions{justify-content:center;flex-wrap:wrap}.moment-mark{font-size:26px;color:var(--accent);line-height:1}@media (prefers-reduced-motion:reduce){.moment{animation-duration:.2s}}.scrub-image{top:-2px;width:5px;height:5px;margin-left:-2.5px;border-radius:1.5px;background:var(--accent);opacity:.75}.note-float,.scrub-image{position:absolute;pointer-events:none}.note-float{top:16px;left:50%;transform:translateX(-50%);z-index:5;width:min(420px,calc(100% - 32px));display:flex;flex-direction:column;gap:5px;padding:12px 16px;border-radius:16px;border:1px solid var(--glass-line);background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:var(--shadow-pop);animation:note-in .52s cubic-bezier(.22,.9,.28,1) both}@keyframes note-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.note-float p{margin:0;font-size:14px;line-height:1.6;text-wrap:balance}.note-kind{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}.note-float.thought p{font-style:italic;color:var(--ink-2)}.scrub-note{position:absolute;top:-4px;width:2px;height:8px;margin-left:-1px;border-radius:1px;background:var(--accent-2);pointer-events:none}.note-composer{width:min(320px,78vw);gap:9px}.note-composer textarea{line-height:1.55;resize:vertical}.note-live{position:absolute;inset:0;pointer-events:none}.reader-desk{--sheet-max:780px;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:26px;gap:26px}.reader-sheet{max-width:var(--sheet-max);margin-inline:auto;width:100%}@media (min-width:1180px){.reader-desk{grid-template-columns:minmax(0,1fr) min(var(--sheet-max),100%) minmax(0,1fr);gap:0 34px;align-items:start}.reader-sheet{grid-column:2;grid-row:1;max-width:none}.reader-marks{grid-column:1;grid-row:1;justify-self:end;width:min(190px,100%);position:-webkit-sticky;position:sticky;top:26px}}.mark-list,.reader-marks{margin:0;display:flex;flex-direction:column;gap:20px}@media (max-width:1179px){.reader-desk{gap:14px}.reader-marks{order:-1;max-width:var(--sheet-max);margin-inline:auto;width:100%}.mark-list{flex-wrap:wrap;gap:6px 22px}.mark,.mark-list{flex-direction:row}.mark{align-items:baseline;gap:8px}.mark dt:after{display:none}.mark dd{font-size:15px;font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 14}.mark-note{max-width:none;font-size:11px}}.mark{display:flex;flex-direction:column;gap:3px;animation:mark-in .56s cubic-bezier(.22,.9,.28,1) both;animation-delay:calc(var(--i) * 70ms + .22s)}.mark dt{font-size:var(--t-label);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3)}.mark dt:after{content:"";display:block;width:34px;height:1px;margin-top:6px;background:var(--ink-3);opacity:.45}.mark dd{margin:0;font-family:var(--font-display),Georgia,serif;font-size:var(--t-value);font-weight:500;line-height:1.25;letter-spacing:-.01em;overflow-wrap:anywhere;font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 24}.mark-note{margin:0;max-width:30ch;font-size:11.5px;line-height:1.65;color:var(--ink-3);animation:mark-in .56s cubic-bezier(.22,.9,.28,1) both;animation-delay:.62s}@keyframes mark-in{0%{opacity:0;transform:translateY(8px)}}.moment-eyebrow{margin:0;font-size:var(--t-label);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.moment-clock{margin:0;display:flex;align-items:baseline;justify-content:center;gap:4px;flex-wrap:wrap}.moment-clock b{font-family:var(--font-display),Georgia,serif;font-size:var(--t-hero);font-weight:600;line-height:.86;letter-spacing:-.045em;font-feature-settings:"lnum";font-variant-numeric:lining-nums;font-variation-settings:"SOFT" 40,"WONK" 1,"opsz" 144;color:var(--accent)}.moment-clock b+span{margin-right:12px}.moment-clock span{font-size:var(--t-small);font-weight:600;letter-spacing:.02em;color:var(--ink-2)}.moment-tail{margin:0;max-width:22ch;font-family:var(--font-display),Georgia,serif;font-size:var(--t-value);font-weight:400;line-height:1.4;text-wrap:balance;font-variation-settings:"SOFT" 20,"WONK" 0,"opsz" 24}@media (prefers-reduced-motion:reduce){.mark,.mark-note{animation-duration:.18s;animation-delay:0s}}.page-desk{max-width:1240px}.reader-bar{margin-bottom:4px}.eyebrow{margin:0;font-family:var(--font-sans),system-ui,sans-serif;font-size:var(--t-label);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.style-closeup .envelope{animation:none;transform-origin:50% 52%;transform:scale(3.2)}.style-closeup.opening .envelope{animation:env-pull-back calc(var(--env-open) * .42) calc(var(--env-open) * .14) both cubic-bezier(.4,0,.2,1)}.style-closeup .envelope-caption{position:relative;z-index:5}@keyframes env-pull-back{to{transform:scale(1)}}.style-closeup.opening .env-flap{animation-delay:calc(var(--env-open) * .2)}.style-closeup.opening .env-letter,.style-closeup.opening .env-letter:before{animation-delay:calc(var(--env-open) * .5);animation-duration:calc(var(--env-open) * .44)}.style-closeup.opening .env-letter:after{animation-delay:calc(var(--env-open) * .56)}.env-face,.style-flip .envelope{transform-style:flat}.env-face{position:absolute;inset:0;border-radius:10px}.env-from{position:absolute;right:9%;bottom:12%;max-width:44%;margin:0;display:grid;justify-items:end;grid-gap:2px;gap:2px;font-size:11px;font-style:italic;letter-spacing:.04em;text-align:right;color:#8c7d5c}.env-from b{font-family:var(--font-display),Georgia,serif;font-style:normal;font-weight:600;font-size:13px;letter-spacing:.02em;color:#6f6247}.reading-room .env-from b{font-family:var(--font-script),"Segoe Script",cursive;font-weight:600;font-size:clamp(16px,4.2vw,21px);letter-spacing:.01em;line-height:1.1;color:#4a3d25;animation:ten-viet 1.1s cubic-bezier(.4,0,.2,1) 2.6s both}.reading-room .env-from span{animation:troi-len .8s ease-out 3.3s both}.sender-row{align-items:end}.sender-row .field:not(:last-child){flex:1 1}.sender-row input[type=date]{min-width:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.style-flip .env-face-front{transform:rotateY(90deg);visibility:hidden;transform-origin:center}.style-flip .env-face-back{transform:none;visibility:visible;transform-origin:center}.style-flip.pha-mat-ten .env-face-front{transform:none;visibility:visible}.style-flip.pha-mat-ten .env-face-back{transform:rotateY(-90deg);visibility:hidden}.style-flip.pha-dang-lat .env-face-front{animation:env-mat-di .7s cubic-bezier(.5,0,.85,.4) forwards}.style-flip.pha-dang-lat .env-face-back{animation:env-mat-toi .7s cubic-bezier(.15,.6,.4,1) .7s both}.style-flip.pha-dang-lat .envelope{animation:env-nhac 1.4s ease-in-out both}@keyframes env-mat-di{0%{transform:rotateY(0deg);visibility:visible}99%{visibility:visible}to{transform:rotateY(90deg);visibility:hidden}}@keyframes env-mat-toi{0%{transform:rotateY(-90deg);visibility:visible}to{transform:rotateY(0deg);visibility:visible}}@keyframes env-nhac{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-22px) scale(1.07)}}.style-flip .envelope{perspective:820px}.env-face-front{background:var(--env-paper);box-shadow:0 2px 4px -2px rgba(74,58,30,.28),0 22px 44px -20px rgba(74,58,30,.5);z-index:3}.env-face-back{z-index:3}.env-face-back .env-letter{z-index:1}.env-face-back{--env-meet:54%;box-shadow:0 2px 4px -2px rgba(74,58,30,.28),0 22px 44px -20px rgba(74,58,30,.5)}.env-face-back .env-back-fold{display:none}.env-face-back .env-body{background:linear-gradient(180deg,color-mix(in srgb,var(--env-paper) 96%,#fff) 0,var(--env-paper) 45%,color-mix(in srgb,var(--env-paper) 91%,#6b5836) 100%)}.env-face-back .env-flap{background:linear-gradient(180deg,color-mix(in srgb,var(--env-paper) 94%,#fff) 0,color-mix(in srgb,var(--env-paper) 90%,#6b5836) 55%,color-mix(in srgb,var(--env-paper) 80%,#6b5836) 100%)}.env-face-back:after{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,250,235,.26) 50%,transparent 62%);background-size:260% 100%;background-position:200% 0;opacity:0}.style-flip.pha-mat-sap .env-face-back:after{animation:env-anh-luot 1.3s ease-out .12s both}@keyframes env-anh-luot{0%{opacity:1;background-position:200% 0}to{opacity:1;background-position:-100% 0}}.env-back-fold{position:absolute;inset:0;z-index:3;filter:drop-shadow(.5px .5px .5px rgba(86,68,34,.3))}.env-back-fold.left{background:color-mix(in srgb,var(--env-paper) 91%,#6b5836);-webkit-clip-path:polygon(0 0,50% var(--env-meet),0 100%);clip-path:polygon(0 0,50% var(--env-meet),0 100%)}.env-back-fold.right{background:color-mix(in srgb,var(--env-paper) 86%,#6b5836);-webkit-clip-path:polygon(100% 0,50% var(--env-meet),100% 100%);clip-path:polygon(100% 0,50% var(--env-meet),100% 100%)}.env-back-fold.bottom{background:linear-gradient(180deg,color-mix(in srgb,var(--env-paper) 94%,#6b5836) 0,color-mix(in srgb,var(--env-paper) 97%,#fff) 60%);-webkit-clip-path:polygon(0 100%,50% var(--env-meet),100% 100%);clip-path:polygon(0 100%,50% var(--env-meet),100% 100%)}.env-lining{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,color-mix(in srgb,var(--env-paper) 78%,#6b5836) 0,color-mix(in srgb,var(--env-paper) 91%,#6b5836) 62%);border-radius:10px}.envelope>.env-body{filter:drop-shadow(0 2px 3px rgba(74,58,30,.34))}.env-face-back .env-body,.envelope>.env-body{-webkit-clip-path:polygon(0 0,50% var(--env-meet),100% 0,100% 100%,0 100%);clip-path:polygon(0 0,50% var(--env-meet),100% 0,100% 100%,0 100%)}.env-face-back .env-flap{background:linear-gradient(180deg,color-mix(in srgb,var(--env-paper) 94%,#fff) 0,color-mix(in srgb,var(--env-paper) 91%,#6b5836) 60%,color-mix(in srgb,var(--env-paper) 84%,#6b5836) 100%)}.style-flip.opening .env-seal{animation-delay:calc(var(--env-open) * .05)}.style-flip.opening .env-flap{animation-delay:calc(var(--env-open) * .26);animation-duration:calc(var(--env-open) * .18)}.style-flip.opening .env-letter,.style-flip.opening .env-letter:before{animation-delay:calc(var(--env-open) * .48);animation-duration:calc(var(--env-open) * .34)}.style-flip.opening .env-letter:after{animation-delay:calc(var(--env-open) * .54);animation-duration:calc(var(--env-open) * .26)}.style-pull .envelope{animation:none;cursor:-webkit-grab;cursor:grab;touch-action:none}.style-pull .envelope:active{cursor:-webkit-grabbing;cursor:grabbing}.style-pull .env-letter{transform:translateY(calc(6% - 68% * var(--pull, 0))) rotateX(calc(16deg * var(--bend, 0))) rotate(calc(-1.5deg * var(--bend, 0)))}.style-pull .env-flap{transform:rotateX(calc(-166deg * min(1, var(--pull, 0) * 1.7)))}.style-pull.lifted .env-flap{z-index:0}.style-pull .env-seal{opacity:calc(1 - var(--pull, 0) * 4);pointer-events:none}.style-pull.easing .env-flap,.style-pull.easing .env-letter,.style-pull.easing .env-seal{transition:transform .7s cubic-bezier(.22,.9,.28,1),opacity .4s ease}.designer{padding:16px 18px 18px;border-radius:var(--r-md);border:1px solid var(--glass-edge);background:transparent;gap:14px}.designer-head{gap:18px;align-items:flex-start}.designer-seal{flex:none;display:grid;place-items:center;width:96px;height:96px;border-radius:var(--r-sm);background:var(--env-paper,#f2ece0);box-shadow:inset 0 0 0 1px rgba(120,100,60,.14)}.designer-seal .env-seal{position:static;margin:0;width:62px;height:62px;cursor:default}.designer-fields{flex:1 1;min-width:0;gap:8px}.designer-label{width:68px;flex:none}.wax-swatch{width:30px;height:30px;padding:0;border:none;border-radius:var(--seal-radius,50%);-webkit-clip-path:var(--seal-clip,none);clip-path:var(--seal-clip,none);background:radial-gradient(ellipse 130% 105% at 32% 16%,color-mix(in srgb,var(--env-wax) 74%,#fff) 0,transparent 62%),var(--env-wax);box-shadow:inset 0 -2px 4px color-mix(in srgb,var(--env-wax) 55%,#000)}.wax-swatch.on{outline:2px solid var(--accent);outline-offset:3px}.style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));grid-gap:8px;gap:8px}.style-opt{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:10px 12px;border-radius:var(--r-control)}.style-opt b{font-size:var(--t-small);font-weight:600}.style-opt span{font-size:11.5px;font-weight:500;line-height:1.45;opacity:.75}.style-opt.on{color:var(--accent-ink);border-color:transparent;background:var(--fill-accent);box-shadow:var(--lift-accent)}.tu-luu{float:right;margin-left:12px;font-size:var(--t-small);color:var(--ink-2)}.envelope-settings .designer{padding:0;border:none;background:none}@media (prefers-reduced-motion:reduce){.style-closeup .envelope,.style-closeup.opening .envelope{animation:none;transform:none}.style-pull.easing .env-flap,.style-pull.easing .env-letter,.style-pull.easing .env-seal{transition:none}.style-flip .envelope{perspective:none}}.envelope-stage.pace-swift{--env-open:3400ms}.envelope-stage.pace-slow{--env-open:8000ms}.goi-y-scribble{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.designer-warn{margin:0;padding:10px 13px;border-radius:var(--r-sm);border:1px solid var(--accent);background:var(--glass-2);font-size:12.5px;line-height:1.6;color:var(--ink-2)}.letter-desk{gap:26px}.letter-desk-head{align-items:flex-end}.letter-desk-head .eyebrow{margin-bottom:2px}.letter-group{display:grid;grid-gap:12px;gap:12px}.letter-group-title{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-sans),system-ui,sans-serif;font-size:var(--t-label);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.letter-group-title span{font-weight:600;letter-spacing:0;color:var(--ink-2)}.letter-group-title:after{content:"";flex:1 1;height:1px;background:var(--glass-line)}.letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px;align-items:stretch}.letter-card{display:grid;grid-template-rows:auto 1fr auto;grid-gap:12px;gap:12px;padding:16px 16px 12px;border-radius:var(--r-lg);border:1px solid var(--glass-line);background:var(--glass);box-shadow:var(--shadow-soft);transition:border-color var(--nhip) var(--cong),box-shadow var(--nhip) var(--cong)}.letter-card:hover{border-color:var(--glass-edge);box-shadow:var(--shadow-pop)}.letter-card.sent{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 55%,transparent),var(--shadow-soft)}.letter-card .letter-head{align-items:flex-start}.letter-thumb-wrap{position:relative;flex:none;width:104px}.letter-thumb{display:block;border-radius:3px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 22px -12px rgba(0,0,0,.7),0 0 0 1px rgba(0,0,0,.08);transition:transform var(--nhip) var(--cong),box-shadow var(--nhip) var(--cong)}.letter-card:hover .letter-thumb{transform:translateY(-2px) rotate(-.6deg)}.letter-thumb-wrap .letter-seal{position:absolute;right:-10px;bottom:-8px;width:36px;height:36px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}.letter-thumb-wrap .letter-seal .env-seal{width:36px;height:36px;margin:-18px 0 0 -18px}.letter-when{margin-top:6px}.letter-actions .letter-delete{margin-left:auto;color:var(--ink-3)}.letter-actions .letter-delete:focus-visible,.letter-actions .letter-delete:hover{color:var(--danger)}@media (max-width:560px){.letter-grid{grid-template-columns:1fr}}.letter-head{display:flex;align-items:center;gap:14px;min-width:0}.letter-seal{position:relative;flex:none;width:46px;height:46px}.letter-seal .env-seal{top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;cursor:default}.letter-seal .env-seal span{font-size:19px}.letter-meta{display:flex;flex-direction:column;gap:2px;font-size:13px;min-width:0}.letter-name{font-family:var(--font-display),Georgia,serif;font-size:19px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.letter-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:11px;border-top:1px solid var(--glass-line)}.share-panel{padding:18px;border-radius:var(--r-lg);border:1px solid var(--glass-line);background:var(--glass)}.share-link input{flex:1 1;min-width:0}.doi-ma-o{align-items:center;gap:0}.doi-ma-goc{font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%;direction:rtl}.doi-ma-o input{flex:1 1;min-width:0;font-family:var(--font-mono,ui-monospace,monospace);letter-spacing:.04em}.share-link input[readonly]{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:-.01em}.password-set{gap:10px;padding-top:14px;border-top:1px solid var(--glass-line)}.lock-state{font-size:12px;letter-spacing:.02em;color:var(--muted,#6b7280)}.lock-state.on{color:var(--ink);font-weight:600}.reading-room{position:relative;min-height:100dvh;justify-content:center;padding-bottom:40px;--g0:#101c3a;--g1:#060b18;--lamp:#f0b865;--lamp-a:0.32;--paper:#f1ead9;--paper-2:#e6dcc4;--rule:rgba(84,98,150,0.22);--muc-giay:#2a2a48;--muc-uot:#1b1e4a;--txt:#eef1fa;--txt-2:#b8c2dc;--card:rgba(16,26,58,0.55);--card-line:rgba(206,224,255,0.14);--mote:246,217,168;--ground:var(--g0);--ground-deep:var(--g1);--ink:var(--txt);--ink-2:var(--txt-2);--ink-3:var(--txt-2);--accent:#8fb0ff;--accent-ink:#0b1326;--surface:var(--card);--glass:var(--card);--glass-line:var(--card-line);color-scheme:dark;color:var(--txt);background:transparent}body:has(.reading-room){background:radial-gradient(120% 90% at 50% 0,#101c3a 0,#060b18 100%) fixed}body:has(.reading-room)>.aurora,body:has(.reading-room)>.grain{display:none}.reading-room .replay-paper,.reading-room .replay-paper.entering,.reading-room .replay-paper.waking{animation:trao-tay 1s var(--cong) .32s both;transition:filter .9s ease}@keyframes trao-tay{0%{opacity:0;transform:scale(.72) translateY(40px)}}.env-ban-giao{position:fixed;z-index:45;pointer-events:none;animation:env-lui .48s ease-out forwards;transform-origin:50% 60%}@keyframes env-lui{to{opacity:0;transform:translateY(26px) scale(.9)}}.reading-room.the-ket .replay-paper{filter:blur(7px) saturate(.85)}.reading-room .hat-min,.reading-room .lamp,.reading-room .sky,.reading-room .vignette{position:fixed;pointer-events:none}.reading-room .lamp{left:50%;top:42%;width:150vmin;height:120vmin;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(240,184,101,var(--lamp-a)),rgba(240,184,101,0) 70%);transition:opacity 1.2s ease,transform 1.2s ease;animation:den-len 1.6s ease-out both}@keyframes den-len{0%{opacity:0;transform:translate(-50%,-50%) scale(.86)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.reading-room.reading .lamp{left:var(--den-x,50%);top:var(--den-y,42%);transform:translate(-50%,-46%) scale(1.1);transition:left .9s cubic-bezier(.22,1,.36,1),top .9s cubic-bezier(.22,1,.36,1),opacity .7s ease,transform 1.2s ease}.reading-room.reading.dang-nghi .lamp{opacity:.72}.reading-room.ended .lamp,.reading-room.the-ket .lamp{opacity:.55}.reading-room .replay-paper.khep{transform-origin:50% 100%;animation:giay-khep 1.3s cubic-bezier(.4,0,.2,1) both;pointer-events:none}@keyframes giay-khep{0%{opacity:1;transform:none}55%{opacity:1;transform:perspective(1400px) rotateX(-14deg) scale(.94) translateY(8px)}to{opacity:0;transform:perspective(1400px) rotateX(-36deg) scale(.62) translateY(140px)}}@media (max-width:1179px){.reading-room.reading:not(.ended) .reader-marks{display:none}}.giay-cho{aspect-ratio:210/297;max-height:70vh;margin:0 auto;padding:11% 8%;border-radius:10px;background:var(--paper,#f1ead9);box-shadow:0 24px 60px -30px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:5.5%;animation:troi-len .6s ease-out both}.giay-cho i{display:block;height:1px;background:rgba(84,98,150,.32);transform-origin:left center;animation:ke-dong .7s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i, 0) * .13s + .2s)}@keyframes ke-dong{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.reading-room .sky{animation:troi-len 2.2s ease-out .3s both}@keyframes troi-len{0%{opacity:0}to{opacity:1}}.reading-room .envelope-stage{animation:bi-den 1s cubic-bezier(.22,1,.36,1) .6s both}@keyframes bi-den{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}.reading-room .envelope-stage:not(.opening):not(.pha-dang-lat) .envelope{animation:bi-tho 7s ease-in-out 1.8s infinite}@keyframes bi-tho{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.reading-room .envelope-caption{animation:troi-len .9s ease-out 4.2s both}.reading-room .env-open-btn:not(.gone){animation:troi-len .7s ease-out 4.6s both,nut-tho 3.2s ease-in-out 5.4s infinite}@keyframes nut-tho{0%,to{box-shadow:0 0 0 0 rgba(143,176,255,0)}50%{box-shadow:0 0 0 9px rgba(143,176,255,.14),0 0 26px rgba(143,176,255,.28)}}.reading-room .env-address b{font-family:var(--font-script),"Segoe Script",cursive;font-size:clamp(24px,6.6vw,33px);font-weight:600;letter-spacing:.01em;line-height:1.15;font-variation-settings:normal;animation:ten-viet 1.5s cubic-bezier(.4,0,.2,1) 1.25s both}.reading-room .env-address span{animation:troi-len .6s ease-out 1.15s both}@keyframes ten-viet{0%{-webkit-clip-path:inset(-20% 104% -20% -4%);clip-path:inset(-20% 104% -20% -4%);color:#7a6a48}to{-webkit-clip-path:inset(-20% -4% -20% -4%);clip-path:inset(-20% -4% -20% -4%);color:#3a2f1c}}.reading-room.gio-sang{--g0:#263a63;--g1:#121d3a;--lamp:#ffd9a0;--lamp-a:0.24}.reading-room.gio-ngay{--g0:#2c4478;--g1:#16244a;--lamp:#ffe6bd;--lamp-a:0.18}.reading-room.gio-chieu{--g0:#2b2748;--g1:#130f2a;--lamp:#ff9d58;--lamp-a:0.36}.reading-room.gio-sang .lamp{background:radial-gradient(closest-side,rgba(255,217,160,var(--lamp-a)),rgba(255,217,160,0) 70%)}.reading-room.gio-ngay .lamp{background:radial-gradient(closest-side,rgba(255,230,189,var(--lamp-a)),rgba(255,230,189,0) 70%)}.reading-room.gio-chieu .lamp{background:radial-gradient(closest-side,rgba(255,157,88,var(--lamp-a)),rgba(255,157,88,0) 70%)}.reading-room.gio-sang .sky{opacity:.45}.reading-room.gio-ngay .sky{opacity:.25}body:has(.reading-room.gio-sang){background:radial-gradient(120% 90% at 50% 0,#263a63 0,#0f1832 100%) fixed}body:has(.reading-room.gio-ngay){background:radial-gradient(120% 90% at 50% 0,#2c4478 0,#121c3c 100%) fixed}body:has(.reading-room.gio-chieu){background:radial-gradient(120% 90% at 50% 0,#2b2748 0,#0c0a1c 100%) fixed}.reading-room .sky{inset:0;width:100%;height:100%}.reading-room .hat-min{inset:0;opacity:.045;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.reading-room .vignette{inset:0;box-shadow:inset 0 0 160px 60px rgba(4,7,18,.55)}.reading-room.lite .hat-min{display:none}.reading-room.lite .vignette{box-shadow:none;background:radial-gradient(80% 80% at 50% 45%,transparent 55%,rgba(4,7,18,.55) 100%)}.reading-room.lite .lamp{transition:none}.reading-ambience{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.password-gate{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(380px,92vw);margin:0 auto;padding:34px 28px 28px;border-radius:var(--r-lg);border:1px solid var(--glass-line);background:var(--glass);box-shadow:var(--shadow-soft);text-align:center}.gate-seal{position:relative;width:62px;height:62px;margin-top:-58px;margin-bottom:2px;animation:gate-len .9s cubic-bezier(.22,.88,.28,1) .2s both}.password-gate{animation:the-len .7s cubic-bezier(.22,.88,.28,1) both}@keyframes the-len{0%{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}.password-gate>[style*="--i"]{animation:gate-len .6s cubic-bezier(.22,.88,.28,1) both;animation-delay:calc(.26s + var(--i, 0) * .14s)}.gate-canh{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px;text-align:center;cursor:pointer;animation:troi-len .9s ease-out both}.gate-canh-seal{position:relative;width:62px;height:62px;margin-bottom:12px;animation:gate-len 1.1s cubic-bezier(.22,.88,.28,1) .3s both}.gate-canh-seal .env-seal{top:50%;cursor:inherit}.gate-canh-1,.gate-canh-2{margin:0;max-width:30ch;font-family:var(--font-display),Georgia,serif;font-size:clamp(21px,3.6vw,28px);line-height:1.4;color:var(--ink);text-wrap:balance;animation:gate-len 1.2s cubic-bezier(.22,.88,.28,1) both}.gate-canh-1{animation-delay:.9s}.gate-canh-2{font-style:italic;color:var(--ink-2);animation-delay:2.6s}.gate-canh-cham{margin:20px 0 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);opacity:.7;animation:gate-len .9s ease-out 4s both}.gate-canh.roi{animation:canh-roi .7s cubic-bezier(.4,0,.6,1) both;pointer-events:none}@keyframes canh-roi{to{opacity:0;transform:translateY(-26px);filter:blur(6px)}}@media (prefers-reduced-motion:reduce){.gate-canh,.gate-canh-1,.gate-canh-2,.gate-canh-cham,.gate-canh-seal,.gate-canh.roi{animation-duration:1ms;animation-delay:0s}}.password-gate.shake .gate-seal,.password-gate.shake>[style*="--i"]{animation-duration:1ms;animation-delay:0s}@keyframes gate-len{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.gate-seal,.password-gate,.password-gate>[style*="--i"]{animation-duration:1ms;animation-delay:0s}}.gate-seal .env-seal{top:50%;cursor:default}.gate-title{margin:0;font-size:21px;font-weight:600;line-height:1.25}.gate-hint,.gate-title{font-family:var(--font-display),Georgia,serif;text-wrap:balance}.gate-hint{position:relative;margin:2px 0 6px;padding:0 18px;font-size:16px;font-style:italic;line-height:1.55;color:var(--ink)}.gate-hint:after,.gate-hint:before{position:absolute;font-size:34px;line-height:1;opacity:.22}.gate-hint:before{content:"“";left:-2px;top:-6px}.gate-hint:after{content:"”";right:-2px;bottom:-18px}.gate-field{width:100%}.gate-field input{width:100%;padding:12px 14px;border:1px solid color-mix(in srgb,var(--glass-line) 100%,#fff 18%);border-bottom:1.5px solid var(--glass-line);border-radius:10px;background:rgba(255,255,255,.05);font-family:var(--font-display),Georgia,serif;font-size:18px;text-align:center;transition:border-color var(--nhip) var(--cong)}.gate-field input:focus{outline:none;border-bottom-color:var(--accent);box-shadow:none}.gate-field input[aria-invalid=true]{border-bottom-color:color-mix(in srgb,var(--accent) 70%,#fff 30%)}.reading-room:has(.password-gate,.gate-canh) .lamp{--lamp-a:0.14}.gate-wrong{margin:0;min-height:1.2em;font-family:var(--font-display),Georgia,serif;font-style:italic;font-size:14px;color:var(--ink-2);opacity:0;transition:opacity var(--nhip) var(--cong)}.gate-wrong.on{opacity:1}.password-gate.shake{animation:gate-shake .42s cubic-bezier(.36,.07,.19,.97)}@keyframes gate-shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}@media (prefers-reduced-motion:reduce){.password-gate.shake{animation:none}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.qr-card{display:inline-flex;flex-direction:column;align-items:center;gap:10px;padding:16px 16px 14px;border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 14px 34px -18px rgba(0,0,0,.55)}.qr-card canvas{display:block;width:min(168px,48vw);height:auto;border-radius:8px}.qr-card-text{display:flex;flex-direction:column;align-items:center;gap:2px;max-width:200px;text-align:center}.qr-card-name{font-family:var(--font-display),Georgia,serif;font-size:15px;font-weight:500;letter-spacing:.01em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:200px}.qr-card-hint{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.55}.letter-state{align-self:flex-start;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent)}.letter-state.sent{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.letter-share{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:14px;padding-top:16px;border-top:1px solid var(--glass-edge)}.letter-share .share-link{width:100%}.moment-song{display:inline-flex;align-items:center;gap:12px;margin-top:4px;padding:9px 16px 9px 9px;border-radius:999px;border:1px solid rgba(var(--nut-rgb),.55);background:var(--nut-muc);color:var(--nut-chinh);text-decoration:none;box-shadow:0 8px 22px -12px rgba(var(--nut-rgb),.8);transition:background var(--nhip) var(--cong),transform var(--nhip) var(--cong)}.moment-song:after{content:"";width:12px;height:12px;flex:0 0 auto;margin-left:2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center /contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center /contain no-repeat;opacity:.85}.moment-song:hover{background:color-mix(in srgb,var(--accent) 15%,transparent);transform:translateY(-1px)}.moment-song-note{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--nut-chinh);color:var(--nut-chu);font-size:17px;line-height:1;flex:0 0 auto}.moment-song-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left}.moment-song-text b{font-size:14px;font-weight:600}.moment-song-text span{font-size:12px;opacity:.8}.music-set{gap:10px;padding-top:14px;border-top:1px solid var(--glass-line)}.music-set b{font-size:14px}.music-set .share-link{width:100%}@media (pointer:coarse){.frame-swatch,.wax-swatch{width:40px;height:40px}.chip,.chip-link,.icon-btn{min-height:40px}.icon-btn{min-width:40px}.icon-btn.danger{min-width:44px;min-height:44px}.dock,.dock-menu,.moment,.share-panel{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}.sealed{min-height:100dvh;display:grid;place-items:center;padding:24px}.sealed-card{align-items:center;text-align:center;gap:14px;max-width:380px}.sealed-seal{transform:scale(1.25);margin-bottom:26px}.sealed-lead{font-size:21px}.sealed-date,.sealed-lead{margin:0;font-family:var(--font-display),Georgia,serif}.sealed-date{font-size:30px;font-weight:600;color:var(--accent)}.sealed-tail{margin:6px 0 0;color:var(--muted)}.capsule-set{gap:10px;padding-top:14px;border-top:1px solid var(--glass-line)}.capsule-set b{font-size:14px}.capsule-set .share-link{width:100%}.img-frame.panning{cursor:-webkit-grab;cursor:grab}.img-frame.panning:active{cursor:-webkit-grabbing;cursor:grabbing}.sheet-nen{position:fixed;inset:0;z-index:60;display:grid;place-items:end center;background:rgba(8,14,30,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sheet-nen-in .22s ease both}@keyframes sheet-nen-in{0%{opacity:0}}.sheet{width:min(520px,100%);max-height:88dvh;display:flex;flex-direction:column;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);box-shadow:0 -8px 40px rgba(16,28,58,.32);animation:sheet-in .3s cubic-bezier(.22,.88,.28,1) both}@keyframes sheet-in{0%{transform:translateY(28px);opacity:0}}.sheet-dau{display:flex;align-items:center;gap:10px;padding:16px 18px 12px;border-bottom:1px solid var(--glass-line)}.sheet-dau b{flex:1 1;font-family:var(--font-display),Georgia,serif;font-size:17px}.sheet-dong{width:40px;height:40px;padding:0;border:none;border-radius:50%;background:transparent;font-size:17px;color:var(--muted);cursor:pointer}.sheet-dong:hover{background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--ink)}.sheet-than{overflow-y:auto;overscroll-behavior:contain;padding:16px 18px 22px}.sheet-than .letter-share{margin-top:0;padding-top:0;border-top:none;align-items:stretch}.sheet-than .share-qr{align-self:center}@media (min-width:620px){.sheet-nen{place-items:center;padding:24px}.sheet{border-radius:var(--r-lg);max-height:82dvh}}.sheet-than .capsule-set>.chip-link,.sheet-than .music-set>.chip-link,.sheet-than .password-set>.chip-link{align-self:flex-start}.qr-deco{gap:12px;padding-top:14px;border-top:1px solid var(--glass-line)}.qr-deco b{font-size:var(--t-body)}.qr-palette{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:8px;gap:8px}.qr-swatch{display:grid;place-items:center;aspect-ratio:1;padding:0;border:1.5px solid;border-radius:var(--r-control);cursor:pointer}.qr-swatch span{width:46%;height:46%;border-radius:4px}.qr-swatch.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.qr-colors{gap:14px}.qr-color{display:flex;align-items:center;gap:7px}.qr-color input[type=color]{width:40px;flex:none}.qr-letter-row{align-items:center;gap:12px}.qr-letter-input{width:62px;flex:none;text-align:center;font-family:var(--font-display),Georgia,serif;font-size:22px;font-weight:700}.qr-letter-row .chip-row{flex:1 1;min-width:0}.letter-read{font-size:11.5px;color:var(--ink-3)}.letter-read.seen{color:var(--ok-ink)}.nhac-file{align-items:center;gap:10px}.cat-doan{gap:8px}.cat-song{--cat-trong:var(--accent,#8fb0ff);--cat-ngoai:rgba(255,255,255,0.22);display:block;width:100%;height:64px;border-radius:10px;background:var(--glass-2);border:1px solid var(--glass-edge);cursor:ew-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cat-nhan{justify-content:space-between;font-size:var(--t-small);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nhac-ten{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-small);color:var(--ink-2)}.khep-thu{position:fixed;left:0;right:0;width:-moz-fit-content;width:fit-content;margin-inline:auto;bottom:calc(var(--cao-dock, 130px) + 14px + 12px + env(safe-area-inset-bottom, 0px));z-index:60;animation:moment-in .6s cubic-bezier(.22,.88,.28,1) 1.4s both}@media (prefers-reduced-motion:reduce){.khep-thu{animation:moment-in 1ms both}}.replay-am-cho{position:fixed;top:calc(14px + env(safe-area-inset-top, 0px));border-radius:999px;border:1px solid var(--card-line);background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;color:var(--txt-2,var(--ink-2));white-space:nowrap;pointer-events:none;animation:moment-in .7s .4s both}.replay-am-cho,.replay-am-hong{left:50%;z-index:60;transform:translateX(-50%);margin:0;padding:7px 14px}.replay-am-hong{position:absolute;top:14px;max-width:min(32ch,90%);border-radius:999px;text-align:center;background:var(--surface);box-shadow:var(--shadow-soft)}.reader-photos{animation:lang-vao var(--nhip-cham) var(--cong) .14s both;display:flex;flex-direction:column;gap:8px;margin-top:4px}.photo-row{display:flex;gap:8px;min-width:0;margin:-3px;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 3px 4px}.photo-chip{position:relative;flex:none;width:68px;padding:0;border:1px solid var(--glass-edge);border-radius:var(--r-sm);background:var(--glass-2);overflow:hidden;cursor:pointer}.photo-anh{display:block;width:100%;aspect-ratio:1;background-size:cover;background-position:50%}.photo-nhan{position:absolute;left:0;right:0;bottom:0;padding:3px 4px;font-size:10px;font-weight:650;text-align:center;color:#fff;background:rgba(16,22,40,.75);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.photo-chip:hover .photo-nhan{background:rgba(16,22,40,.78)}.voice-set{gap:10px;padding-top:14px;border-top:1px solid var(--glass-line)}.voice-row{align-items:center;gap:10px}.voice-dung{animation:voice-dap 1.6s ease-in-out infinite}@keyframes voice-dap{50%{box-shadow:var(--lift-accent),0 0 0 6px var(--accent-soft)}}@media (prefers-reduced-motion:reduce){.voice-dung{animation:none}}.voice-dong-ho{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--t-small);color:var(--ink-2)}.voice-dong-ho i{font-style:normal;opacity:.5}.voice-nghe{flex:1 1;min-width:0;max-width:260px;height:34px}.moment-voice{display:inline-flex;align-items:center;gap:11px;align-self:center;padding:10px 16px;border:1px solid transparent;border-radius:999px;background:var(--accent-soft);color:var(--ink);text-align:left;cursor:pointer}.moment-voice:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.moment-voice-icon{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--fill-accent);color:var(--accent-ink);font-size:12px;box-shadow:var(--lift-accent)}.moment-voice-text{display:flex;flex-direction:column;line-height:1.25}.moment-voice-text .hint{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.moment-voice-hong{align-self:center;text-align:center}.note-che{pointer-events:auto;cursor:pointer;text-align:left;font:inherit;font-weight:400;color:var(--ink)}.note-float.secret{background:linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--wax) 10%,transparent) 6px 12px),var(--glass);border-color:color-mix(in srgb,var(--wax) 34%,var(--glass-line))}.note-float.secret .note-kind{color:var(--wax)}.note-che{flex-direction:row;align-items:center;gap:12px;width:min(340px,calc(100% - 48px));padding:10px 14px 10px 12px;opacity:.94;animation:note-in 1.1s cubic-bezier(.22,.9,.28,1) both}.note-che:focus-visible,.note-che:hover{border-color:var(--wax);opacity:1}.note-che p{color:var(--ink-2);font-style:italic;font-size:13.5px}.note-che-chu{display:flex;flex-direction:column;gap:2px;min-width:0}.note-che-goi{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--wax);opacity:.55;transition:opacity var(--nhip,.2s) ease}.note-che:focus-visible .note-che-goi,.note-che:hover .note-che-goi{opacity:1}.note-xi{flex:0 0 auto;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--wax) 55%,white) 0,var(--wax) 55%,color-mix(in srgb,var(--wax) 70%,black) 100%);box-shadow:0 0 0 2px color-mix(in srgb,var(--wax) 18%,transparent),0 1px 2px rgba(0,0,0,.25)}.note-dau{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.note-gap{margin:0;padding:0;border:0;background:none;font:inherit;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--wax);opacity:.7;cursor:pointer;pointer-events:auto}.note-gap:focus-visible,.note-gap:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}.note-float.secret p{text-wrap:pretty}.note-float.secret.mo{animation:note-mo .64s cubic-bezier(.22,.9,.28,1) both}@keyframes note-mo{0%{opacity:.6;-webkit-clip-path:inset(0 0 100% 0 round 16px);clip-path:inset(0 0 100% 0 round 16px);transform:translate(-50%,-4px)}to{opacity:1;-webkit-clip-path:inset(0 0 0 0 round 16px);clip-path:inset(0 0 0 0 round 16px);transform:translate(-50%)}}.note-float.tan{animation:note-tan .52s ease-in both}@keyframes note-tan{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px) scale(.985)}}@media (prefers-reduced-motion:reduce){.note-che,.note-float,.note-float.secret.mo,.note-float.tan{animation-duration:.16s}}.cong-trang{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:4px 6px 10px;margin-bottom:2px;border-bottom:1px solid var(--glass-line);animation:cong-trang-in .38s cubic-bezier(.22,.9,.28,1) both}@keyframes cong-trang-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.cong-trang-ten{font-family:var(--font-display),Georgia,serif;font-size:16px;font-weight:500;color:var(--ink)}.cong-trang-nut{margin-left:auto;flex:none}.cong-trang-tu{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3);cursor:pointer}.cong-trang-tu input{width:16px;height:16px;accent-color:var(--accent);flex:none}.moment.ending .moment-card{position:relative;max-width:440px;gap:10px;padding:28px 8px}.moment.ending .moment-card:before{content:"";position:absolute;inset:-40% -30%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(240,184,101,.16),rgba(240,184,101,.05) 45%,transparent 75%);animation:moment-in 1.6s both,quang-tho 7s ease-in-out 1.6s infinite}@keyframes quang-tho{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.moment.ending .moment-card>*{animation:ket-len .76s cubic-bezier(.22,.88,.28,1) both;animation-delay:calc(.24s + var(--i, 0) * .24s)}@keyframes ket-len{0%{opacity:0;transform:translateY(10px)}}.moment-tim{width:44px;height:44px;overflow:visible;filter:drop-shadow(0 0 10px rgba(143,176,255,.35));animation:tim-tho 4.2s ease-in-out 2.8s infinite}@keyframes tim-tho{0%,to{transform:scale(1);filter:drop-shadow(0 0 8px rgba(143,176,255,.3))}50%{transform:scale(1.06);filter:drop-shadow(0 0 16px rgba(143,176,255,.55))}}.moment-ky-ten{margin:4px 0 0;font-family:var(--font-script),"Segoe Script",cursive;font-size:clamp(22px,4.6vw,30px);font-weight:600;color:var(--ink);line-height:1.2}.moment-ky-ten span{display:inline-block;padding:0 .15em;animation:ky-ten 1.4s cubic-bezier(.4,0,.2,1) both;animation-delay:calc(.24s + 4 * .24s + .5s)}@keyframes ky-ten{0%{-webkit-clip-path:inset(-20% 100% -20% -4%);clip-path:inset(-20% 100% -20% -4%);opacity:.6}to{-webkit-clip-path:inset(-20% -4% -20% -4%);clip-path:inset(-20% -4% -20% -4%);opacity:1}}.moment-tim path{fill:var(--accent);fill-opacity:0;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120;stroke-dashoffset:120;animation:tim-ve 1.5s cubic-bezier(.4,0,.3,1) .42s both,tim-day .9s ease-out 1.7s both}@keyframes tim-ve{to{stroke-dashoffset:0}}@keyframes tim-day{to{fill-opacity:.16}}.moment.ending .moment-eyebrow{margin-top:4px}.moment-ket-lead{font-family:var(--font-display),Georgia,serif;font-weight:500;font-size:clamp(24px,4.6vw,32px);letter-spacing:-.02em;line-height:1.2}.moment-ket-so{margin:2px 0 0;display:flex;flex-direction:column;gap:4px}.moment-ket-so b{font-family:var(--font-display),Georgia,serif;font-size:clamp(22px,4vw,28px);font-weight:600;letter-spacing:-.02em;color:var(--accent);font-feature-settings:"lnum";font-variant-numeric:lining-nums}.moment-ket-so span{font-family:var(--font-display),Georgia,serif;font-style:italic;font-size:15px;color:var(--ink-2)}.moment-ket-lai{margin:14px 0 0;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-3)}.moment-link{padding:2px 0;border:none;border-radius:0;background:none;font-weight:500;color:var(--ink-2);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--ink-2) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--ink-2) 40%,transparent);text-underline-offset:4px;transition:color var(--nhip) var(--cong),-webkit-text-decoration-color var(--nhip) var(--cong);transition:color var(--nhip) var(--cong),text-decoration-color var(--nhip) var(--cong);transition:color var(--nhip) var(--cong),text-decoration-color var(--nhip) var(--cong),-webkit-text-decoration-color var(--nhip) var(--cong)}.moment-link:hover{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);background:none}.moment.ending .moment-actions{margin-top:2px}@media (prefers-reduced-motion:reduce){.moment.ending .moment-card:before,.moment.ending .moment-card>*{animation-duration:.2s;animation-delay:0s}.moment-tim path{animation:none;stroke-dashoffset:0;fill-opacity:.16}}.moment-credit{margin:14px 0 0;font-size:12px;letter-spacing:.04em;color:var(--ink-3);opacity:.75}.xac-nhan{margin-top:4px}.cta.nguy{background:var(--danger);border-color:var(--danger);color:#fff}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.khong-thay{display:grid;justify-items:center;grid-gap:14px;gap:14px;padding:12vh 20px;text-align:center}.khong-thay h1{margin:0;font-family:var(--font-display),Georgia,serif;font-size:clamp(26px,5vw,38px);font-weight:400;color:var(--ink);text-wrap:balance}.khong-thay .hint{max-width:42ch}.khong-thay-en{color:var(--ink-3);font-size:13px}.khong-thay .cta{margin-top:10px}.khong-thay-bi{position:relative;width:132px;height:88px;margin-bottom:6px;border-radius:8px;border:1px solid var(--glass-line);background:var(--glass);box-shadow:var(--shadow-pop)}.khong-thay-nap{position:absolute;inset:0 0 auto;height:52px;border-bottom:1px solid var(--glass-line);background:linear-gradient(160deg,var(--surface),transparent);-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);opacity:.55}.replay-stage{padding-bottom:calc(var(--cao-dock, 0px) + 28px)}.moment-ky-nhan{width:100%}.ky-nhan{display:flex;flex-direction:column;gap:8px;width:min(100%,320px);margin:4px auto 0;text-align:left}.ky-nhan-tieu-de{margin:0;font-family:var(--font-display),Georgia,serif;font-size:16px;color:var(--ink)}.ky-nhan-o{display:block;width:100%;aspect-ratio:13/6;border-radius:14px;border:1px dashed var(--glass-edge);background:#fffdf7;color:#1a2b64;touch-action:none;cursor:crosshair}.ky-nhan-o.xong{border-style:solid;cursor:default}.letter-ky-nhan-o{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;box-shadow:none;font:inherit;font-size:var(--t-small);color:var(--ink-2);cursor:pointer}.letter-ky-nhan-o:hover .letter-ky-nhan{box-shadow:0 0 0 2px var(--accent)}.ky-nhan-lon{display:block;width:100%;aspect-ratio:78/36;border-radius:14px;background:#fffdf7;box-shadow:var(--shadow-pop)}.letter-ky-nhan{width:78px;height:36px;border-radius:8px;background:#fffdf7;color:#1a2b64}.letter-hoi-am{align-self:flex-start;font-size:var(--t-small)}.cta,.khep-thu,:root{--nut-sang:#e2d4ff;--nut-chinh:#c3aaff;--nut-dam:#9a7cf0;--nut-muc:#2c1f5e;--nut-chu:#1e1440;--nut-rgb:195,170,255}.cta,.khep-thu{overflow:hidden;isolation:isolate;width:max-content;max-width:calc(100vw - 32px);padding:9px 18px;border:0;border-radius:999px;font-family:var(--font-display),Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--nut-chinh);background:var(--nut-muc);box-shadow:inset 0 0 0 1px rgba(var(--nut-rgb),.55),inset 0 10px 18px -12px rgba(var(--nut-rgb),.35);transition:transform .2s var(--cong,ease),box-shadow .22s var(--cong,ease),color .22s var(--cong,ease)}.cta{position:relative}.cta:after,.cta:before,.khep-thu:after,.khep-thu:before{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:0;pointer-events:none;z-index:0;animation:sao-lap 2.6s ease-in-out infinite}.cta:before,.khep-thu:before{left:14%;top:28%;box-shadow:0 0 0 0 #fff,22px 14px 0 -.5px #fff}.cta:after,.khep-thu:after{left:78%;top:24%;width:2px;height:2px;box-shadow:-18px 16px 0 .5px #fff;animation-delay:1.3s}@keyframes sao-lap{0%,to{opacity:0;transform:scale(.6)}50%{opacity:.9;transform:scale(1)}}.giot-cham{position:absolute;z-index:-1;border-radius:50%;background:var(--nut-chinh);transform:translate(-50%,-50%) scale(0);pointer-events:none;animation:giot-loang .45s cubic-bezier(.22,.88,.28,1) forwards}@keyframes giot-loang{to{transform:translate(-50%,-50%) scale(1)}}.cta.nhan,.khep-thu.nhan{color:var(--nut-chu);transform:scale(.97);box-shadow:inset 0 0 0 1px var(--nut-chinh),0 8px 22px -10px rgba(var(--nut-rgb),.9)}.cta.nhan:after,.cta.nhan:before,.khep-thu.nhan:after,.khep-thu.nhan:before{display:none}.cta:hover:not(:disabled):not(.nhan),.khep-thu:hover:not(.nhan){color:var(--nut-chinh);filter:none;transform:none}@media (hover:hover){.cta:hover:not(:disabled):not(.nhan),.khep-thu:hover:not(.nhan){transform:translateY(-1px);box-shadow:inset 0 0 0 1px var(--nut-chinh),0 8px 22px -10px rgba(var(--nut-rgb),.9)}}.cta:disabled{opacity:.5;box-shadow:inset 0 0 0 1px rgba(var(--nut-rgb),.3)}.cta.env-open-btn.gone{opacity:0;transform:translateY(4px) scale(.97);pointer-events:none}.cta:disabled:after,.cta:disabled:before{display:none}.cta:focus-visible,.khep-thu:focus-visible{outline:2px solid var(--nut-sang);outline-offset:3px}@media (prefers-reduced-motion:reduce){.cta:after,.cta:before,.giot-cham,.khep-thu:after,.khep-thu:before{animation:none}}.chip-link.on,button.primary{position:relative;overflow:hidden;isolation:isolate;box-shadow:inset 0 0 0 1px rgba(var(--nut-rgb),.55)}.chip-link.on,.chip-link.on:hover,button.primary,button.primary:hover{color:var(--nut-chinh);background:var(--nut-muc);border-color:transparent}.chip-link.on.nhan,.chip-link.on:hover,button.primary.nhan,button.primary:hover{box-shadow:inset 0 0 0 1px var(--nut-chinh)}.chip-link.on.nhan,button.primary.nhan{color:var(--nut-chu)}.hoi-nhac{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;animation:troi-len .32s ease-out both}.hoi-nhac-the{width:min(100%,340px);padding:24px 22px 20px;border:1px solid var(--glass-edge);border-radius:22px;background:color-mix(in srgb,var(--g0) 78%,#000 22%);box-shadow:var(--shadow-pop);text-align:center;animation:moment-in .42s cubic-bezier(.22,.88,.28,1) 80ms both}.hoi-nhac-not{color:var(--lamp);margin-bottom:6px}.hoi-nhac-the h2{margin:0 0 6px;font-family:var(--font-display),Georgia,serif;font-size:20px;font-weight:600;color:var(--ink);text-wrap:balance}.hoi-nhac-the .hint{margin:0 0 16px;color:var(--ink-2);text-wrap:balance}.hoi-nhac-nut{justify-content:center;gap:10px;flex-wrap:wrap}.bao-mo{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:50;margin:0;padding:10px 16px;border-radius:999px;background:var(--fill-accent);color:var(--accent-ink);font-size:14px;box-shadow:var(--shadow-pop);animation:moment-in .32s both}.dock-trang{display:flex;align-items:center;gap:2px}.dock-icon:disabled{opacity:.32;cursor:default}.dock.co-cong{opacity:1}@media (max-width:520px){.cong-trang-nut{width:100%;margin-left:0}}.cd-goc{position:fixed;inset:0;display:flex;flex-direction:column;gap:8px;padding:10px;background:#fbfbf8;color:#14181f;font-family:ui-sans-serif,system-ui,sans-serif;overscroll-behavior:none}.cd-dau{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:15px}.cd-nut{display:flex;gap:6px;margin-left:auto}.cd-nut button{padding:8px 12px;font-size:16px;border:1px solid #14181f;border-radius:8px;background:#fff;color:inherit}.cd-huong{margin:0;font-size:14px;line-height:1.5;color:#4a5162}.cd-giay{width:100%;display:block;border:1px solid #c9cbd2;border-radius:10px;background:#fff;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:crosshair}.cd-dai,.cd-giay{flex:1 1;min-height:0}.cd-dai{display:flex;flex-direction:column;gap:4px}.cd-nhan{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;color:#4a5162}.cd-nhan b{font-size:15px;color:#14181f;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cd-bang{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:2px 16px;gap:2px 16px;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cd-dong{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px solid #ececef}.cd-xau{color:#b03a48}.cd-chu{height:30vh;font-family:ui-monospace,monospace;font-size:12px;white-space:pre}@media (prefers-reduced-motion:reduce){.chip-link,.cta,.letter-card,.paper-card,.seg-thumb,a,button{transition:none}.envelope,.image-panel,.letter-grid>*,.net-muc path,.popover,.reader-photos,.sheet,.sheet-nen{animation:none}.net-muc path{stroke-dashoffset:0}}.aurora{background-blend-mode:screen,screen,screen,screen,normal,normal}@media (max-width:560px){.toolbar{left:8px;right:8px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:5px;padding:8px}.toolbar-row{display:contents}.toolbar .toolbar-gap,.toolbar .zoom-group{display:none}.toolbar .icon-btn{width:32px;height:32px;min-width:32px;min-height:32px}.toolbar .seg{padding:3px}.toolbar .seg button{min-width:30px;width:30px;height:30px;padding:0}.toolbar-row:first-child>.seg{order:1}.toolbar-row:first-child>.pop-anchor{order:2}.toolbar-row:first-child>.icon-btn{order:3}.toolbar-row:last-child>*{order:4}.toolbar .page-group .page-dot{min-width:28px;height:28px;padding:0 6px}.toolbar-row:last-child>.cta{order:9;flex:1 1 100%;justify-content:center;min-height:38px;padding-block:8px}.paper-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-inline:0;padding-inline:0;overflow:visible}.paper-card{padding:8px 6px 9px;gap:6px;border-radius:14px}.paper-card .paper-preview{width:100%;height:auto}.paper-card span{font-size:11px}.designer{padding:14px 12px 16px}.designer>.row{align-items:flex-start}.designer-label{width:100%;margin-bottom:2px}.designer>.row>.chip{flex-grow:1;flex-shrink:1;flex-basis:calc(25% - 6px);min-width:0;padding-inline:4px;font-size:11.5px;white-space:nowrap}.designer>.row.toc-do-mo>.chip{flex:1 1}.designer>.row>.wax-swatch{width:34px;height:34px;flex:none}.reader-bar .dau-trang-link{flex-wrap:wrap;overflow:visible;width:auto;margin-inline:0;padding-inline:0;justify-content:flex-end}}.xuat-video{gap:14px}.xuat-video .row[role=group]{gap:6px}.xuat-video .row[role=group] .chip{flex:1 1}.xuat-video-tien-do{height:6px;border-radius:999px;background:var(--glass-2);overflow:hidden}.xuat-video-tien-do span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s linear}html.chi-but body,html.chi-but body :not(input):not(textarea){-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}html.chi-but input,html.chi-but textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.man-khoa-viet{max-width:420px;margin:48px auto;padding:24px;border-radius:18px;background:var(--glass);border:1px solid var(--glass-edge)}.letter-state.khoa{margin-left:6px}.cat-doan .am-luong{gap:12px;align-items:center}.cat-doan .am-luong .label{min-width:120px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cat-doan .am-luong input[type=range]{flex:1 1;accent-color:var(--nut-chinh)}button.letter-read{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}button.letter-read:disabled{cursor:default}button.letter-read:not(:disabled):focus-visible,button.letter-read:not(:disabled):hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.lich-su-mo-ds{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.lich-su-mo-dong{display:grid;grid-template-columns:auto 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:9px 0;border-top:1px solid var(--glass-edge);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lich-su-mo-dong:first-child{border-top:0}.lich-su-mo-lan{color:var(--ink-2);font-size:12.5px}.lich-su-mo-ai{display:flex;flex-direction:column;gap:2px;min-width:0}.lich-su-mo-ai b{font-weight:600;font-size:13.5px;overflow-wrap:anywhere}.lich-su-mo-may{color:var(--ink-2)}.lich-su-mo-may,.lich-su-mo-xoa{font-size:12.5px}