html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root,:root[data-theme=sakura]{--c-deep: #d63384;--c-main: #ff6fa5;--c-soft: #ffc0cb;--c-mist: #fff0f5;--c-text: #5a4a4a;--c-text-muted: #8a6b78;--c-text-subtle: #b98aa0;--c-page-bg: linear-gradient(160deg, rgba(255, 248, 251, .66) 0%, rgba(255, 225, 236, .52) 48%, rgba(255, 208, 226, .5) 100%);--c-title-grad: linear-gradient(90deg, #ff8fab, #d63384);--c-btn-grad: linear-gradient(90deg, #ff8fab, #ff6fa5);--c-btn-grad-hover: linear-gradient(90deg, #ff9ebb, #ff7fb0);--c-btn-shadow: rgba(255, 111, 165, .35);--c-card-bg: rgba(255, 250, 252, .82);--c-card-border: rgba(255, 175, 204, .55);--c-card-shadow: rgba(214, 51, 132, .18);--c-drag-bg: rgba(255, 240, 245, .75);--c-drag-bg-hover: rgba(255, 232, 240, .9);--c-summary-grad: linear-gradient(90deg, rgba(255, 224, 236, .9), rgba(255, 240, 245, .9));--c-border-soft: #ffe4ee;--c-row-even: #fff7fa;--c-row-hover: #ffeef4}:root[data-theme=snow]{--c-deep: #1565a3;--c-main: #4aa8e0;--c-soft: #bfe0f7;--c-mist: #f2f9ff;--c-text: #35495c;--c-text-muted: #5d7f99;--c-text-subtle: #8fb0c7;--c-page-bg: linear-gradient(160deg, rgba(253, 254, 255, .68) 0%, rgba(234, 245, 253, .56) 48%, rgba(212, 233, 250, .54) 100%);--c-title-grad: linear-gradient(90deg, #6cc0ea, #1565a3);--c-btn-grad: linear-gradient(90deg, #6cc0ea, #4aa8e0);--c-btn-grad-hover: linear-gradient(90deg, #82cbf0, #5cb4e6);--c-btn-shadow: rgba(74, 168, 224, .35);--c-card-bg: rgba(250, 253, 255, .85);--c-card-border: rgba(150, 206, 241, .55);--c-card-shadow: rgba(21, 101, 163, .16);--c-drag-bg: rgba(238, 248, 255, .78);--c-drag-bg-hover: rgba(224, 242, 255, .92);--c-summary-grad: linear-gradient(90deg, rgba(219, 239, 253, .9), rgba(240, 249, 255, .9));--c-border-soft: #dceefb;--c-row-even: #f5fbff;--c-row-hover: #e9f5fe}:root[data-theme=rain]{--c-deep: #24567f;--c-main: #3976a8;--c-soft: #b8d0e3;--c-mist: #f2f7fb;--c-text: #33475b;--c-text-muted: #587188;--c-text-subtle: #8299ac;--c-page-bg: linear-gradient(160deg, rgba(247, 250, 252, .68) 0%, rgba(220, 232, 243, .56) 48%, rgba(197, 217, 233, .54) 100%);--c-title-grad: linear-gradient(90deg, #548fbc, #24567f);--c-btn-grad: linear-gradient(90deg, #548fbc, #3976a8);--c-btn-grad-hover: linear-gradient(90deg, #69a0c7, #4a86b5);--c-btn-shadow: rgba(57, 118, 168, .32);--c-card-bg: rgba(250, 253, 255, .82);--c-card-border: rgba(159, 193, 217, .62);--c-card-shadow: rgba(36, 86, 127, .16);--c-drag-bg: rgba(237, 246, 252, .8);--c-drag-bg-hover: rgba(224, 239, 249, .94);--c-summary-grad: linear-gradient(90deg, rgba(213, 230, 242, .9), rgba(241, 248, 252, .9));--c-border-soft: #d7e7f2;--c-row-even: #f4f9fc;--c-row-hover: #e7f2f9}:root[data-theme=sunny]{--c-deep: #b86908;--c-main: #e99617;--c-soft: #f4cd72;--c-mist: #fff9e9;--c-text: #634b2b;--c-text-muted: #8b7047;--c-text-subtle: #b69a6a;--c-page-bg: linear-gradient(160deg, rgba(255, 253, 246, .68) 0%, rgba(255, 240, 189, .54) 48%, rgba(255, 224, 154, .5) 100%);--c-title-grad: linear-gradient(90deg, #f3b62e, #c57508);--c-btn-grad: linear-gradient(90deg, #f3b62e, #e99617);--c-btn-grad-hover: linear-gradient(90deg, #f7c54e, #efa72c);--c-btn-shadow: rgba(233, 150, 23, .32);--c-card-bg: rgba(255, 254, 249, .84);--c-card-border: rgba(244, 205, 114, .66);--c-card-shadow: rgba(184, 105, 8, .14);--c-drag-bg: rgba(255, 248, 222, .82);--c-drag-bg-hover: rgba(255, 241, 194, .95);--c-summary-grad: linear-gradient(90deg, rgba(255, 232, 168, .9), rgba(255, 249, 229, .9));--c-border-soft: #f9e3aa;--c-row-even: #fffaf0;--c-row-hover: #fff2d2}:root{--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out-smooth: cubic-bezier(.45, 0, .55, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .22s;--dur-normal: .38s;--dur-slow: .62s;--bg-image: url(/floral-bottom-background.png);--bg-page-position: 100% 0;--bg-page-position-mobile: 92% 0;--bg-page-size: min(980px, 82vw) auto;--bg-page-size-mobile: min(720px, 118vw) auto;--bg-card-position: 100% 0;--bg-card-position-mobile: 100% -6px;--bg-card-size: min(420px, 58%) auto;--bg-card-size-mobile: min(280px, 54vw) auto;--bg-intro-position: 68% center;--bg-intro-size: cover;--app-toolbar-offset: 104px;--app-nav-height: 56px;--root-sidebar-width: 220px;--root-sidebar-width-collapsed: 72px}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;font-family:Poppins,Segoe UI,Noto Sans JP,sans-serif;font-size:16px;-webkit-text-size-adjust:100%;color:var(--c-text);background-color:var(--c-mist);transition:background .4s ease,color .4s ease}.app-content{min-height:100vh;min-height:100dvh}.app-content--visible,.app-content--leaving{animation:app-reveal 1.05s var(--ease-out-expo) 1.48s both}.welcome-intro{position:fixed;z-index:100;inset:0;overflow:hidden;pointer-events:none;background:var(--c-mist)}.welcome-intro__image,.welcome-intro__veil{position:absolute;inset:-3%}.welcome-intro__image{background:var(--bg-image) var(--bg-intro-position) / var(--bg-intro-size) no-repeat;animation:welcome-photo-settle 2.6s var(--ease-out-expo) both;will-change:transform,filter;transition:background-image var(--dur-slow) var(--ease-out-quart)}.welcome-intro__veil{background:linear-gradient(105deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.12) 42%,transparent 68%),radial-gradient(circle at 25% 42%,#fff8f814,#f2d2db47)}.welcome-intro--leaving{animation:welcome-fade-away 1.05s var(--ease-out-quart) both}.welcome-intro--leaving .welcome-intro__image{animation:welcome-photo-exit 1.05s var(--ease-out-quart) both}@keyframes welcome-photo-settle{0%{transform:scale(1.08);filter:saturate(1.06) brightness(1.03)}to{transform:scale(1);filter:saturate(1) brightness(1)}}@keyframes welcome-photo-exit{0%{transform:scale(1);filter:saturate(1) brightness(1)}to{transform:scale(1.045);filter:saturate(.94) brightness(1.08)}}@keyframes welcome-fade-away{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes app-reveal{0%{opacity:0;transform:translate3d(0,14px,0) scale(.988);filter:blur(6px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@keyframes fade-up{0%{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:translate3d(0,10px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes step-glow{0%{box-shadow:0 0 0 0 var(--c-card-shadow);transform:scale(1)}45%{box-shadow:0 6px 18px var(--c-card-shadow);transform:scale(1.02)}to{box-shadow:0 4px 12px var(--c-card-shadow);transform:scale(1)}}@keyframes icon-float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-6px,0)}}@keyframes icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.82}}@keyframes spin-gentle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer-slide{0%{background-position:-120% center}to{background-position:220% center}}@keyframes badge-pop{0%{opacity:0;transform:translate3d(0,6px,0) scale(.92)}70%{transform:translate3d(0,-2px,0) scale(1.03)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes row-reveal{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}.particle-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2}.particle-layer--interactive{touch-action:pan-y}.particle-fall{position:absolute;top:-12vh;display:block;animation-name:particle-fall;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}.particle-fall--interactive{pointer-events:none}.particle-fall--pop{animation:none;pointer-events:none}.particle-fall--pop-petal{animation:particle-pop-petal .82s var(--ease-out-expo) forwards}.particle-fall--pop-snow{animation:particle-pop-snow .78s var(--ease-out-quart) forwards}.particle-fall--pop .sakura-petal,.particle-fall--pop .snowflake{animation:none}.sakura-petal,.snowflake,.rain-drop,.sun-ray{display:block;animation-name:particle-drift;animation-timing-function:var(--ease-in-out-smooth);animation-iteration-count:infinite;will-change:transform}.sakura-petal{border-radius:100% 0;background:radial-gradient(circle at 30% 30%,#fff,#ffb7d0 45%,#ff8fb3);box-shadow:0 1px 4px #d633842e}.snowflake{border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#eef7ff 55%,#c3e2f8);box-shadow:0 0 8px #fffffff2,0 1px 4px #1565a329}.rain-drop{border-radius:999px;background:linear-gradient(180deg,#fffffff2,#78b4dc 45%,#3976a8);box-shadow:0 0 5px #d3eeffcc;animation-name:rain-sway}.sun-ray{border-radius:999px;background:linear-gradient(180deg,#fff0,#ffce49e0,#efa11800);box-shadow:0 0 8px #ffcc4bb3;animation-name:sun-shimmer}@keyframes particle-fall{0%{transform:translateZ(0)}to{transform:translate3d(0,120vh,0)}}@keyframes particle-pop-petal{0%{transform:translateZ(0) scale(1);filter:brightness(1)}35%{transform:translate3d(calc(var(--pop-x) * .35),calc(var(--pop-y) * .35),0) rotate(180deg) scale(1.18);filter:brightness(1.12)}to{transform:translate3d(var(--pop-x),calc(var(--pop-y) - 28px),0) rotate(540deg) scale(.35);opacity:0;filter:brightness(1.25)}}@keyframes particle-pop-snow{0%{transform:translateZ(0) scale(1);filter:blur(0)}40%{transform:translate3d(calc(var(--pop-x) * .4),calc(var(--pop-y) * .45),0) scale(1.35);filter:blur(0)}to{transform:translate3d(calc(var(--pop-x) * .7),calc(var(--pop-y) - 18px),0) scale(.15);opacity:0;filter:blur(2px)}}@keyframes particle-drift{0%{transform:translate3d(-28px,0,0) rotate(0)}50%{transform:translate3d(28px,0,0) rotate(180deg)}to{transform:translate3d(-28px,0,0) rotate(360deg)}}@keyframes rain-sway{0%,to{transform:translate3d(-7px,0,0) rotate(12deg)}50%{transform:translate3d(7px,0,0) rotate(12deg)}}@keyframes sun-shimmer{0%,to{transform:translate3d(-18px,0,0) rotate(24deg)}50%{transform:translate3d(18px,0,0) rotate(24deg)}}@media(prefers-reduced-motion:reduce){.particle-layer{display:none}.particle-fall--interactive{pointer-events:none;cursor:default}.app-content--visible,.app-content--leaving,.welcome-intro,.welcome-intro__image,.page-shell>*,.file-summary,.file-summary__badge,.converter-empty,.preview-table tbody tr,.dragger-icon,.sakura-dragger--loading .ant-upload-drag{animation:none!important}.welcome-intro{display:none}*,*:before,*:after{transition-duration:.01ms!important}}.app-toolbar{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));z-index:10;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;pointer-events:none}.app-toolbar>*{pointer-events:auto}.app-nav{position:fixed;z-index:9;left:50%;transform:translate(-50%);top:calc(var(--app-toolbar-offset) + env(safe-area-inset-top,0px) - 6px);display:flex;gap:6px;padding:5px;border-radius:999px;background:var(--c-card-bg);border:1px solid var(--c-card-border);box-shadow:0 8px 22px var(--c-card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:calc(100vw - 24px);overflow-x:auto;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav__link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:650;color:var(--c-text-muted);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.app-nav__link--active{color:var(--c-deep);background:#ffffffe0;box-shadow:0 4px 12px var(--c-card-shadow)}.theme-switcher{position:static;flex-shrink:0;padding:4px;border-radius:999px;background:var(--c-card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--c-card-border);box-shadow:0 8px 22px var(--c-card-shadow);transition:transform var(--dur-normal) var(--ease-out-expo),box-shadow var(--dur-normal) var(--ease-out-expo),background var(--dur-normal) ease}.theme-switcher:hover{transform:translate3d(0,-1px,0);box-shadow:0 12px 28px var(--c-card-shadow)}.theme-option{display:inline-flex;align-items:center;gap:6px;padding:0 4px;font-weight:600}.theme-option-icon{font-size:15px}.background-switcher{position:static;flex:1 1 auto;min-width:0;max-width:calc(100% - 120px);display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:18px;background:var(--c-card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--c-card-border);box-shadow:0 8px 22px var(--c-card-shadow);transition:transform var(--dur-normal) var(--ease-out-expo),box-shadow var(--dur-normal) var(--ease-out-quart)}.background-switcher:hover{transform:translate3d(0,-1px,0);box-shadow:0 12px 28px var(--c-card-shadow)}.background-switcher__label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-subtle)}.background-switcher__options{display:flex;flex-wrap:wrap;gap:8px;max-width:280px}.background-option{position:relative;width:56px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#ffffffa6;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out-expo),border-color var(--dur-normal) ease,box-shadow var(--dur-normal) ease}.background-option:hover{transform:translate3d(0,-2px,0) scale(1.03)}.background-option--active{border-color:var(--c-main);box-shadow:0 6px 16px var(--c-card-shadow)}.background-option img{display:block;width:100%;height:56px;object-fit:cover;object-position:center}.background-option__caption{display:block;padding:3px 4px 5px;font-size:9px;font-weight:600;line-height:1.2;text-align:center;color:var(--c-text-muted);background:#ffffffe0}.background-option--active .background-option__caption{color:var(--c-deep)}.page{position:relative;z-index:1;min-height:100vh;min-height:100dvh;background-color:var(--c-mist);background-image:linear-gradient(105deg,var(--c-mist) 0%,rgba(255,255,255,.9) 24%,rgba(255,255,255,.52) 48%,rgba(255,255,255,.08) 68%,transparent 82%),var(--c-page-bg),var(--bg-image);background-position:center,center,var(--bg-page-position);background-repeat:no-repeat;background-size:cover,cover,var(--bg-page-size);background-attachment:fixed,fixed,fixed;transition:background-image var(--dur-slow) var(--ease-out-quart);display:flex;justify-content:center;align-items:flex-start;padding:calc(var(--app-toolbar-offset) + var(--app-nav-height) + env(safe-area-inset-top,0px)) clamp(16px,4vw,28px) calc(28px + env(safe-area-inset-bottom,0px))}.page:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 88% 12%,rgba(255,255,255,.28) 0%,transparent 34%),radial-gradient(circle at 12% 88%,rgba(255,255,255,.22) 0%,transparent 30%)}:root[data-background=pinkFull] .page{background-image:linear-gradient(105deg,rgba(255,248,252,.98) 0%,rgba(255,255,255,.94) 16%,rgba(255,255,255,.82) 32%,rgba(255,255,255,.58) 48%,rgba(255,255,255,.28) 62%,rgba(255,255,255,.08) 76%,transparent 88%),var(--c-page-bg),var(--bg-image)}:root[data-background=pinkFull] .glass-card.ant-card{background-color:#ffffffd1}.page-shell{position:relative;z-index:1;width:100%;max-width:720px}.page-shell--wide{max-width:860px}.app-content--visible .page-shell>.hero{animation:fade-up .72s var(--ease-out-expo) 1.62s both}.app-content--visible .page-shell>.glass-card{animation:scale-in .78s var(--ease-out-expo) 1.74s both}.app-content--visible .page-shell>.page-footer{animation:fade-up .62s var(--ease-out-expo) 1.88s both}.hero{text-align:center;margin-bottom:clamp(20px,4vw,32px)}.hero-badge{display:inline-block;margin-bottom:12px;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-deep);background:linear-gradient(110deg,#ffffffb8,#fffffff2,#ffffffb8 90%);background-size:220% 100%;border:1px solid var(--c-card-border);box-shadow:0 4px 14px #0000000a;animation:shimmer-slide 4.5s var(--ease-in-out-smooth) infinite}.page-title.ant-typography{margin:0;font-size:clamp(26px,5vw,38px);line-height:1.2;font-weight:800;background:var(--c-title-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.page-title__icon{display:inline-block;margin-right:.35em;color:var(--c-main);background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:currentColor}.page-subtitle.ant-typography{margin:12px auto 0;max-width:540px;font-size:clamp(14px,2.4vw,16px);line-height:1.65;color:var(--c-text-muted)}.hero-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0 0;padding:0;list-style:none}.hero-step{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--c-text-subtle);background:#ffffff8c;border:1px solid var(--c-border-soft);transition:background var(--dur-normal) var(--ease-out-quart),border-color var(--dur-normal) var(--ease-out-quart),color var(--dur-normal) var(--ease-out-quart),box-shadow var(--dur-normal) var(--ease-out-quart),transform var(--dur-normal) var(--ease-out-quart)}.hero-step--active{color:var(--c-deep);background:#ffffffe0;border-color:var(--c-soft);box-shadow:0 4px 12px var(--c-card-shadow);animation:step-glow .55s var(--ease-out-expo)}.hero-step--active .hero-step__num{animation:badge-pop .45s var(--ease-spring)}.hero-step__num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:700;color:#fff;background:var(--c-btn-grad)}.hero-step__label{white-space:nowrap}.page-footer{margin-top:20px;text-align:center;font-size:13px;color:var(--c-text-subtle)}.glass-card.ant-card{position:relative;overflow:hidden;background-color:var(--c-card-bg);background-image:linear-gradient(125deg,var(--c-card-bg) 0%,var(--c-card-bg) 58%,rgba(255,255,255,.78) 100%),var(--bg-image);background-position:center,var(--bg-card-position);background-repeat:no-repeat;background-size:cover,var(--bg-card-size);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:24px;border:1px solid var(--c-card-border);box-shadow:0 16px 40px var(--c-card-shadow);transition:box-shadow var(--dur-slow) var(--ease-out-quart),transform var(--dur-slow) var(--ease-out-quart),background-image var(--dur-slow) var(--ease-out-quart)}.glass-card.ant-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 38%,transparent 62%)}.glass-card .ant-card-body{position:relative;z-index:1;padding:clamp(20px,4vw,28px)}.converter-body{display:flex;flex-direction:column;gap:18px;margin-top:20px;transition:gap var(--dur-normal) ease}.sakura-dragger.ant-upload-wrapper .ant-upload-drag{background:var(--c-drag-bg);border:2px dashed var(--c-soft);border-radius:20px;padding:12px;transition:border-color var(--dur-normal) var(--ease-out-quart),background var(--dur-normal) var(--ease-out-quart),transform var(--dur-normal) var(--ease-out-expo),box-shadow var(--dur-normal) var(--ease-out-quart)}.sakura-dragger.ant-upload-wrapper .ant-upload-drag:hover{border-color:var(--c-main);background:var(--c-drag-bg-hover);transform:translate3d(0,-3px,0);box-shadow:0 10px 24px var(--c-card-shadow)}.sakura-dragger--loading.ant-upload-wrapper .ant-upload-drag{border-color:var(--c-main);animation:drag-breathe 1.6s var(--ease-in-out-smooth) infinite}@keyframes drag-breathe{0%,to{box-shadow:0 0 #ff6fa500;transform:translateZ(0)}50%{box-shadow:0 0 0 6px #ff6fa51f;transform:translate3d(0,-1px,0)}}.dragger-icon{margin:0;font-size:52px;color:var(--c-main);display:inline-block;transition:transform var(--dur-normal) var(--ease-out-expo)}.sakura-dragger.ant-upload-wrapper .ant-upload-drag:hover .dragger-icon{animation:icon-float 2.4s var(--ease-in-out-smooth) infinite}.sakura-dragger--loading .dragger-icon{animation:icon-pulse 1.2s var(--ease-in-out-smooth) infinite}.dragger-title,.dragger-hint{transition:opacity var(--dur-fast) ease,color var(--dur-fast) ease}.dragger-title{margin:10px 0 4px;font-size:18px;font-weight:600;color:var(--c-deep)}.dragger-hint{margin:0;font-size:14px;color:var(--c-text-subtle)}.file-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;background:var(--c-summary-grad);border:1px solid var(--c-card-border);animation:scale-in .48s var(--ease-out-expo) both}.file-summary__main{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;flex:1 1 180px}.file-summary__meta{font-size:13px;color:var(--c-text-subtle)}.file-summary__badge{flex-shrink:0;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;color:var(--c-deep);background:#ffffffd9;border:1px solid var(--c-soft);animation:badge-pop .55s var(--ease-spring) .12s both}.file-tag.ant-tag{max-width:100%;padding:6px 12px;font-size:14px;border-radius:999px;color:var(--c-deep);background:#fff;border-color:var(--c-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.converter-empty{margin:4px 0;animation:fade-in .4s var(--ease-out-quart) both}.converter-empty .ant-empty-image{height:48px}.empty-text.ant-typography{color:var(--c-text-subtle)}.action-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.action-bar .ant-btn{min-height:48px;transition:transform var(--dur-fast) var(--ease-out-expo),box-shadow var(--dur-normal) var(--ease-out-quart),background var(--dur-normal) ease,border-color var(--dur-normal) ease,opacity var(--dur-normal) ease}.action-bar .ant-btn:not(:disabled):hover{transform:translate3d(0,-2px,0)}.action-bar .ant-btn:not(:disabled):active{transform:translateZ(0) scale(.98);transition-duration:.08s}.ant-btn-primary{background:var(--c-btn-grad);border:none;box-shadow:0 8px 18px var(--c-btn-shadow)}.ant-btn-primary:not(:disabled):hover{background:var(--c-btn-grad-hover);box-shadow:0 12px 24px var(--c-btn-shadow)}.preview-modal-root .ant-modal-mask,.preview-modal-root .ant-modal-wrap{z-index:2000}.preview-modal-root .ant-modal-wrap{overflow:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.preview-modal-root .ant-modal{top:24px;padding-bottom:24px}.preview-modal-root .ant-modal-content,.preview-modal .ant-modal-content{border-radius:22px;overflow:hidden;max-height:calc(100dvh - 48px);display:flex;flex-direction:column}.preview-modal-root .ant-modal-header,.preview-modal-root .ant-modal-footer{flex-shrink:0}.preview-modal-root .ant-modal-body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.preview-modal .ant-modal-title{color:var(--c-deep);font-weight:700}.preview-scroll{flex:1 1 auto;min-height:180px;max-height:min(60vh,520px);overflow:auto;border-radius:14px;border:1px solid var(--c-border-soft);scroll-behavior:smooth}.preview-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px}.preview-table .col-letter{width:72px}.preview-table .col-question{width:44%}.preview-table .col-answer{width:auto}.preview-table th{position:sticky;top:0;z-index:1;padding:12px;text-align:left;color:#fff;background:var(--c-btn-grad)}.preview-table td{padding:10px 12px;border-top:1px solid var(--c-border-soft);white-space:pre-line;overflow-wrap:break-word;vertical-align:top}.preview-table tbody tr{animation:row-reveal .38s var(--ease-out-quart) both}.preview-table tbody tr:nth-child(1){animation-delay:.02s}.preview-table tbody tr:nth-child(2){animation-delay:.04s}.preview-table tbody tr:nth-child(3){animation-delay:.06s}.preview-table tbody tr:nth-child(4){animation-delay:.08s}.preview-table tbody tr:nth-child(5){animation-delay:.1s}.preview-table tbody tr:nth-child(6){animation-delay:.12s}.preview-table tbody tr:nth-child(7){animation-delay:.14s}.preview-table tbody tr:nth-child(8){animation-delay:.16s}.preview-table tbody tr:nth-child(9){animation-delay:.18s}.preview-table tbody tr:nth-child(10){animation-delay:.2s}.preview-table tbody tr:nth-child(n+11){animation-delay:.22s}.preview-table tbody tr:nth-child(2n){background:var(--c-row-even)}.preview-table tbody tr{transition:background var(--dur-fast) ease}.preview-table tbody tr:hover{background:var(--c-row-hover)}@media(max-width:768px){:root{--app-toolbar-offset: 92px}.page{background-attachment:scroll,scroll,scroll;background-position:center,center,var(--bg-page-position-mobile);background-size:cover,cover,var(--bg-page-size-mobile)}.page:before{position:absolute}.app-toolbar{align-items:center;gap:8px}.background-switcher{flex-direction:row;align-items:center;gap:6px;padding:6px 8px;max-width:calc(100% - 72px);border-radius:14px}.background-switcher__label{display:none}.background-switcher__options{flex-wrap:nowrap;overflow-x:auto;max-width:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}.background-switcher__options::-webkit-scrollbar{display:none}.background-option{width:44px}.background-option img{height:44px}.background-option__caption{display:none}.theme-switcher{padding:3px}.theme-switcher .ant-segmented{max-width:none}.theme-option-label{display:none}.theme-option{gap:0;padding:0 2px}.theme-option-icon{font-size:17px}.hero{margin-bottom:16px;text-align:left}.hero-badge{font-size:11px;padding:5px 12px;margin-bottom:10px}.page-title.ant-typography{font-size:clamp(22px,6.5vw,28px);line-height:1.25}.page-subtitle.ant-typography{margin-top:8px;font-size:14px;line-height:1.55;text-align:left}.hero-steps{flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;gap:8px;margin-top:16px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hero-steps::-webkit-scrollbar{display:none}.hero-step{flex-shrink:0;scroll-snap-align:start;padding:7px 12px;font-size:12px}.hero-step__label{white-space:nowrap;text-align:left;line-height:1.35}.page-footer{margin-top:16px;font-size:12px}.glass-card.ant-card{border-radius:20px;background-size:cover,var(--bg-card-size-mobile);background-position:center,var(--bg-card-position-mobile)}.glass-card .ant-card-body{padding:16px}.converter-body{gap:14px;margin-top:16px}.sakura-dragger.ant-upload-wrapper .ant-upload-drag{padding:20px 12px;border-radius:16px;min-height:148px;display:flex;flex-direction:column;justify-content:center}.dragger-icon{font-size:40px}.dragger-title{font-size:16px}.dragger-hint{font-size:13px}.file-summary{flex-direction:column;align-items:stretch;padding:12px 14px}.file-summary__badge{width:100%;text-align:center}.action-bar{grid-template-columns:1fr;gap:10px}.preview-modal-root .ant-modal{top:0;max-width:100vw;width:100%!important;margin:0;padding:0}.preview-modal-root .ant-modal-wrap{overflow:auto}.preview-modal-root .ant-modal-content,.preview-modal .ant-modal-content{min-height:100dvh;max-height:100dvh;border-radius:0;display:flex;flex-direction:column}.preview-modal .ant-modal-header{flex-shrink:0;padding:14px 16px}.preview-modal .ant-modal-title{font-size:16px;line-height:1.4;padding-right:24px}.preview-modal .ant-modal-body{flex:1 1 auto;min-height:0;padding:0 12px 12px;overflow:hidden}.preview-modal .ant-modal-footer{flex-shrink:0;display:flex;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.preview-modal .ant-modal-footer>.ant-btn{flex:1;min-height:44px}.preview-scroll{max-height:none;height:100%;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom)}.preview-table{min-width:0;width:100%;font-size:14px;border-collapse:separate;border-spacing:0 10px}.preview-table thead,.preview-table colgroup{display:none}.preview-table tbody tr{display:block;padding:12px 14px;border-radius:14px;background:#ffffffeb;border:1px solid var(--c-border-soft);box-shadow:0 4px 14px #0000000a}.preview-table tbody tr:nth-child(2n){background:#ffffffeb}.preview-table td{display:block;padding:0;border:0}.preview-table td+td{margin-top:10px;padding-top:10px;border-top:1px dashed var(--c-border-soft)}.preview-table td:before{content:attr(data-label);display:block;margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-subtle)}.preview-table td:first-child{font-size:18px;font-weight:800;color:var(--c-main)}.preview-table td:first-child:before{color:var(--c-main)}.chat-drawer.ant-drawer-content-wrapper{width:100%!important;max-width:100vw}.chat-messages{max-height:calc(100dvh - 200px)}.chat-bubble__content{max-width:min(92%,360px)}}@media(max-width:480px){:root{--app-toolbar-offset: 84px}.page{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));min-height:100svh;background-position:center,center,var(--bg-page-position-mobile);background-size:cover,cover,var(--bg-page-size-mobile)}.app-toolbar{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}.background-switcher{max-width:calc(100% - 68px);padding:5px 6px}.background-option{width:40px}.background-option img{height:40px}.glass-card.ant-card{background-size:cover,var(--bg-card-size-mobile);background-position:center,var(--bg-card-position-mobile)}.glass-card .ant-card-body{padding:14px}.sakura-dragger.ant-upload-wrapper .ant-upload-drag{min-height:132px;padding:16px 10px}.hero-step__num{width:20px;height:20px;font-size:11px}}.chat-float-btn.ant-float-btn{z-index:12;box-shadow:0 10px 28px var(--c-btn-shadow);transition:transform var(--dur-normal) var(--ease-out-expo),box-shadow var(--dur-normal) var(--ease-out-quart)}.chat-float-btn.ant-float-btn:hover{transform:translate3d(0,-2px,0) scale(1.04)}.chat-drawer .ant-drawer-content{background:var(--c-card-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.chat-drawer .ant-drawer-header{border-bottom:1px solid var(--c-border-soft);background:linear-gradient(180deg,rgba(255,255,255,.72),transparent)}.chat-drawer__title{font-weight:700;color:var(--c-deep)}.chat-provider-tag{margin:0;color:var(--c-deep);background:#ffffffbf;border:1px solid var(--c-soft);font-size:11px}.chat-drawer .ant-drawer-body{padding:12px 16px;display:flex;flex-direction:column;min-height:0}.chat-drawer .ant-drawer-footer{border-top:1px solid var(--c-border-soft);padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#ffffff8c}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 220px);padding-bottom:8px;scroll-behavior:smooth}.chat-bubble{display:flex;gap:8px;align-items:flex-start;animation:fade-up .35s var(--ease-out-expo) both}.chat-bubble--user{flex-direction:row-reverse}.chat-bubble__avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--c-btn-grad);box-shadow:0 4px 12px var(--c-btn-shadow)}.chat-bubble__content{max-width:min(88%,320px);padding:10px 14px;border-radius:16px;border:1px solid var(--c-border-soft)}.chat-bubble--assistant .chat-bubble__content{background:#ffffffe0;border-top-left-radius:4px}.chat-bubble--user .chat-bubble__content{background:var(--c-summary-grad);border-color:var(--c-soft);border-top-right-radius:4px}.chat-bubble__text{margin:0;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.55;color:var(--c-text)}.chat-bubble--typing .chat-bubble__content{display:flex;align-items:center;gap:8px}.chat-input-bar{display:flex;gap:8px;align-items:flex-end}.chat-input{flex:1;border-radius:14px!important;border-color:var(--c-soft)!important;background:#ffffffe6!important}.chat-input:focus,.chat-input:hover{border-color:var(--c-main)!important}.chat-send-btn{flex-shrink:0;height:40px;width:40px;border-radius:12px}@media(max-width:480px){.chat-float-btn.ant-float-btn{inset-inline-end:max(14px,env(safe-area-inset-right))!important;inset-block-end:max(14px,env(safe-area-inset-bottom))!important;width:52px!important;height:52px!important}}.converter-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;margin-bottom:10px}.converter-tools .ant-btn-link{padding-inline:0;font-weight:600}.file-tag-list{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}.parse-alert.ant-alert{border-radius:14px;border-color:var(--c-soft)}.export-name{display:flex;flex-direction:column;gap:6px}.export-name__label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-subtle)}.action-bar--four{grid-template-columns:repeat(2,minmax(0,1fr))}.converter-clear{justify-content:center}.preview-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.preview-search{flex:1 1 220px}.preview-letter-filter{width:140px}.preview-hint{margin-top:10px;color:var(--c-text-subtle);font-size:12px}.preview-table--wide{table-layout:auto;min-width:880px}.preview-input.ant-input,.preview-input.ant-input-affix-wrapper,textarea.preview-input{width:100%;background:#ffffffb8!important;border-color:transparent!important;color:var(--c-text);box-shadow:none!important}.preview-input.ant-input:focus,textarea.preview-input:focus{background:#fff!important;border-color:var(--c-main)!important}.preview-table td .preview-input{white-space:pre-wrap}.issues-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow:auto}.issues-item{padding:12px;border-radius:12px;border:1px solid var(--c-border-soft);background:#ffffffb8}.issues-item__head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.issues-item__file{font-size:12px;color:var(--c-text-subtle)}.issues-item__excerpt{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.5;color:var(--c-text)}.quiz-body{display:flex;flex-direction:column;gap:16px}.quiz-progress{display:flex;justify-content:space-between;gap:12px}.quiz-question{margin:0;font-size:17px;font-weight:650;line-height:1.5;color:var(--c-deep)}.quiz-options{display:grid;gap:8px}.quiz-option{display:block;width:100%;text-align:left;min-height:46px;padding:10px 14px;border-radius:12px;border:1px solid var(--c-border-soft);background:#ffffffe0;color:var(--c-text);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out-expo),border-color var(--dur-fast) ease,background var(--dur-fast) ease}.quiz-option:hover:not(:disabled){transform:translate3d(0,-1px,0);border-color:var(--c-main)}.quiz-option--correct{border-color:#3bb273;background:#3bb2731f}.quiz-option--wrong{border-color:#e35d6a;background:#e35d6a1f}.quiz-flashcard,.quiz-result{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.quiz-answer{width:100%;padding:12px 14px;border-radius:12px;background:var(--c-summary-grad);border:1px solid var(--c-soft);white-space:pre-wrap}.quiz-self-grade{display:flex;flex-wrap:wrap;gap:8px}.history-item{align-items:flex-start}.history-meta{display:flex;flex-direction:column;gap:2px}.history-note{margin-top:16px;font-size:12px;color:var(--c-text-subtle)}@media(max-width:768px){.preview-table--wide{min-width:0}.preview-letter-filter{width:100%}.action-bar--four{grid-template-columns:1fr}}.birth-gate{position:relative;z-index:8;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(24px + env(safe-area-inset-top,0px)) clamp(16px,4vw,28px) calc(24px + env(safe-area-inset-bottom,0px));background-color:var(--c-mist);background-image:linear-gradient(105deg,var(--c-mist) 0%,rgba(255,255,255,.9) 24%,rgba(255,255,255,.52) 48%,rgba(255,255,255,.08) 68%,transparent 82%),var(--c-page-bg),var(--bg-image);background-position:center,center,var(--bg-page-position);background-repeat:no-repeat;background-size:cover,cover,var(--bg-page-size)}.birth-gate__card{position:relative;z-index:1;width:100%;max-width:480px;padding:clamp(22px,4vw,32px);border-radius:24px;text-align:center;background:var(--c-card-bg);border:1px solid var(--c-card-border);box-shadow:0 16px 40px var(--c-card-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:scale-in .78s var(--ease-out-expo) both}.birth-gate__title.ant-typography{margin:8px 0 12px;color:var(--c-deep);font-size:clamp(22px,5vw,28px)}.birth-gate__question.ant-typography{margin:0 0 22px;font-size:clamp(16px,3vw,18px);line-height:1.55;font-weight:600;color:var(--c-text)}.birth-gate__pickers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}.birth-gate__select{width:100%;text-align:left}@media(max-width:480px){.birth-gate__pickers{grid-template-columns:1fr}}.mood-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:22px}.mood-chip{padding:8px 14px;border-radius:999px;border:1px solid var(--c-border-soft);background:#ffffffb8;color:var(--c-text-muted);font-weight:650;cursor:pointer}.mood-chip--active{color:var(--c-deep);border-color:var(--c-main);background:var(--c-summary-grad);box-shadow:0 4px 12px var(--c-card-shadow)}.letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0;padding:0;list-style:none}.envelope{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-height:168px;padding:16px;text-align:left;border-radius:18px;border:1px solid var(--c-card-border);background:var(--c-card-bg);box-shadow:0 10px 24px var(--c-card-shadow);cursor:pointer;color:inherit}.envelope--locked{opacity:.72}.envelope__icon{font-size:20px;color:var(--c-main)}.envelope__title{font-size:16px;color:var(--c-deep)}.envelope__teaser{font-size:13px;color:var(--c-text-subtle);line-height:1.4}.envelope__tag{margin-top:auto}.letter-body{margin:0;white-space:pre-wrap;font-family:inherit;font-size:15px;line-height:1.7;color:var(--c-text)}.countdown-board{padding:22px 16px;margin-bottom:28px;border-radius:22px;background:var(--c-summary-grad);border:1px solid var(--c-card-border);box-shadow:0 12px 28px var(--c-card-shadow);text-align:center}.countdown-today{margin:0;font-size:clamp(22px,4vw,30px);font-weight:800;color:var(--c-deep)}.countdown-units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.countdown-unit{display:flex;flex-direction:column;gap:4px}.countdown-unit strong{font-size:clamp(28px,6vw,40px);line-height:1;color:var(--c-deep)}.countdown-unit span{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-subtle)}.keepsake-h3.ant-typography{margin:0 0 16px;color:var(--c-deep)}.timeline{margin:0 0 24px;padding:0 0 0 18px;list-style:none;border-left:2px solid var(--c-soft)}.timeline-item{position:relative;padding:0 0 20px 18px}.timeline-dot{position:absolute;left:-23px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--c-btn-grad);box-shadow:0 0 0 4px #fffc}.timeline-card{padding:14px 16px;border-radius:16px;background:var(--c-card-bg);border:1px solid var(--c-card-border)}.timeline-date{display:block;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--c-main)}.timeline-photo{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:12px;margin-bottom:10px}.timeline-text{margin:0;line-height:1.55}.milestone-fields{display:flex;flex-direction:column;gap:10px}.milestone-date{width:100%}.album-dragger{margin-bottom:20px}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:0;padding:0;list-style:none}.album-card{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:18px;background:var(--c-card-bg);border:1px solid var(--c-card-border);box-shadow:0 8px 20px var(--c-card-shadow)}.album-card__media{overflow:hidden;border-radius:12px;aspect-ratio:1;background:var(--c-mist)}.album-card__media img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:768px){.app-nav{top:calc(var(--app-toolbar-offset) + env(safe-area-inset-top,0px) - 10px)}.countdown-units{gap:4px}}.root-layout{display:flex;min-height:100vh;min-height:100dvh}.root-layout--sidebar-collapsed{--root-sidebar-width: var(--root-sidebar-width-collapsed)}.root-sidebar__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.root-sidebar__toggle{flex-shrink:0;width:34px;height:34px;border:1px solid var(--c-border-soft);border-radius:10px;background:#ffffffd1;color:var(--c-deep);font-size:18px;font-weight:700;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out-expo),box-shadow var(--dur-fast) ease}.root-sidebar__toggle:hover{background:#fffffffa;transform:scale(1.04);box-shadow:0 4px 14px var(--c-card-shadow)}.root-layout--sidebar-collapsed .root-sidebar__label{display:none}.root-layout--sidebar-collapsed .root-sidebar__head{flex-direction:column;align-items:center}.root-layout--sidebar-collapsed .root-sidebar__brand,.root-layout--sidebar-collapsed .root-sidebar__link{justify-content:center;padding-inline:10px}.root-sidebar{position:sticky;top:0;align-self:flex-start;flex-shrink:0;z-index:11;height:100vh;height:100dvh;width:var(--root-sidebar-width);padding:calc(16px + env(safe-area-inset-top,0px)) 12px calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:20px;background:var(--c-card-bg);border-right:1px solid var(--c-card-border);box-shadow:8px 0 28px var(--c-card-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.root-sidebar__brand{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:15px;font-weight:700;color:var(--c-deep);letter-spacing:.02em}.root-sidebar__nav{display:flex;flex-direction:column;gap:8px}.root-sidebar__link{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;font-size:14px;font-weight:650;color:var(--c-text-muted);text-decoration:none;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out-expo)}.root-sidebar__link:hover{color:var(--c-deep);background:#ffffffb8}.root-sidebar__link--active{color:var(--c-deep);background:#ffffffeb;box-shadow:0 6px 18px var(--c-card-shadow)}.root-sidebar__icon{font-size:18px;line-height:1}.root-main{flex:1;min-width:0}.app-content:has(.root-layout) .app-toolbar{left:calc(var(--root-sidebar-width) + max(12px,env(safe-area-inset-left)))}.app-content:has(.root-layout) .app-nav{left:calc(50vw + var(--root-sidebar-width) / 2);max-width:calc(100vw - var(--root-sidebar-width) - 24px)}.app-content:has(.root-layout) .page:before{left:var(--root-sidebar-width)}.dalat-page{width:100%;max-width:none;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;padding:calc(var(--app-toolbar-offset) + env(safe-area-inset-top,0px)) clamp(16px,4vw,28px) calc(28px + env(safe-area-inset-bottom,0px))}.dalat-card{position:relative;z-index:1;width:min(560px,100%);padding:clamp(28px,5vw,40px);border-radius:24px;background:var(--c-card-bg);border:1px solid var(--c-card-border);box-shadow:0 18px 48px var(--c-card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center}.dalat-question{margin:16px 0 28px;font-size:clamp(22px,4.5vw,30px);line-height:1.35;font-weight:700;background:var(--c-title-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.dalat-playfield{position:relative;min-height:300px;margin-top:8px;border-radius:18px;background:#ffffff73;border:1px dashed var(--c-border-soft);overflow:hidden;animation:dalat-playfield-glow 4.8s ease-in-out infinite}.dalat-playfield__ambience{position:absolute;inset:0;pointer-events:none;z-index:0}.dalat-ambience-dot{position:absolute;border-radius:50%;background:radial-gradient(circle,#ffb6cdd9,#ffb6cd00);animation:dalat-ambience-float 5.6s ease-in-out infinite;opacity:.55}.dalat-flee-trail{position:absolute;z-index:1;padding:12px 22px;font-size:15px;font-weight:700;font-family:inherit;border-radius:999px;color:#78626c73;background:#ffffff8c;border:1px dashed rgba(232,160,184,.45);pointer-events:none;animation:dalat-trail-fade .72s var(--ease-out-expo) forwards}.dalat-flee-spark{position:absolute;z-index:1;width:7px;height:7px;margin:-3px 0 0 -3px;border-radius:50%;background:radial-gradient(circle,#ffb6cd,#ffb6cd00);pointer-events:none;animation:dalat-spark-burst .64s var(--ease-out-expo) forwards}.dalat-no-wrap{position:absolute;z-index:2;left:calc(50% + 108px);top:calc(50% - 4px);transition:left .68s var(--ease-spring),top .68s var(--ease-spring)}.dalat-no-wrap .dalat-btn--no{animation:dalat-no-breathe 3.2s ease-in-out infinite}.dalat-no-wrap--fleeing .dalat-btn--no{animation:dalat-no-flee .68s var(--ease-spring) forwards}@keyframes dalat-no-breathe{0%,to{transform:rotate(calc(var(--no-rotate, 0deg) - 2deg)) scale(1)}50%{transform:rotate(calc(var(--no-rotate, 0deg) + 2deg)) scale(1.03)}}.dalat-btn{border:none;cursor:pointer;font-family:inherit;font-weight:700;border-radius:999px;transition:transform var(--dur-fast) var(--ease-spring),box-shadow var(--dur-fast) ease}.dalat-btn--yes{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 32px;font-size:17px;color:#fff;background:var(--c-btn-grad);box-shadow:0 10px 28px var(--c-btn-shadow);animation:dalat-yes-pulse 2.6s ease-in-out infinite}.dalat-btn--yes:hover{transform:translate(-50%,-50%) scale(1.05);background:var(--c-btn-grad-hover);animation:none}.dalat-btn--no{padding:12px 22px;font-size:15px;color:var(--c-text-muted);background:#ffffffeb;border:1px solid var(--c-border-soft);box-shadow:0 6px 16px #0000000f;transition:transform .68s var(--ease-spring),box-shadow .68s var(--ease-out-expo),background .4s ease}@keyframes dalat-playfield-glow{0%,to{box-shadow:inset 0 0 #ffb6cd00}50%{box-shadow:inset 0 0 42px #ffb6cd1f}}@keyframes dalat-ambience-float{0%,to{transform:translateZ(0) scale(1);opacity:.35}50%{transform:translate3d(6px,-10px,0) scale(1.25);opacity:.75}}@keyframes dalat-trail-fade{0%{opacity:.72;transform:scale(1) rotate(0);filter:blur(0)}to{opacity:0;transform:scale(.82) rotate(-8deg);filter:blur(2px)}}@keyframes dalat-spark-burst{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(var(--spark-x, 0),var(--spark-y, 0),0) scale(.2)}}@keyframes dalat-no-flee{0%{transform:rotate(0) scale(1.12);box-shadow:0 14px 28px #e8a0b859}45%{transform:rotate(calc(var(--no-rotate, 8deg) * .6)) scale(.9);box-shadow:0 4px 12px #00000014}to{transform:rotate(var(--no-rotate, 0deg)) scale(1);box-shadow:0 6px 16px #0000000f}}@keyframes dalat-yes-pulse{0%,to{box-shadow:0 10px 28px var(--c-btn-shadow)}50%{box-shadow:0 14px 36px var(--c-btn-shadow),0 0 0 6px #ffb6cd2e}}.dalat-page--celebrating{overflow:hidden}.dalat-page--celebrating .dalat-card{position:relative;z-index:25}.dalat-celebration{position:fixed;inset:0;z-index:24;pointer-events:none;overflow:hidden}.dalat-celebration__veil{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(255,182,205,.22),transparent 58%),radial-gradient(circle at 20% 80%,rgba(255,143,177,.12),transparent 40%),radial-gradient(circle at 80% 70%,rgba(255,143,177,.14),transparent 42%);animation:dalat-celebration-veil 2.8s ease-out forwards}.dalat-heart-rocket{position:absolute;bottom:-8%;font-size:28px;animation:dalat-heart-rocket 1.45s var(--ease-out-expo) forwards;opacity:0;filter:drop-shadow(0 6px 14px rgba(255,105,150,.45))}.dalat-firework{position:absolute;transform:translate(-50%,-50%)}.dalat-firework__core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:22px;opacity:0;animation:dalat-firework-core .55s var(--ease-out-expo) forwards;filter:drop-shadow(0 0 12px rgba(255,120,160,.65))}.dalat-firework__particle{position:absolute;left:50%;top:50%;opacity:0;animation:dalat-firework-burst 1.35s var(--ease-out-expo) forwards;filter:drop-shadow(0 4px 10px rgba(255,110,155,.4))}.dalat-heart-shooter{position:absolute;bottom:8%;opacity:0;animation:dalat-heart-shoot 2s var(--ease-out-expo) forwards;filter:drop-shadow(0 6px 12px rgba(255,105,150,.35))}.dalat-heart-rise{position:absolute;bottom:-12%;opacity:0;animation:dalat-heart-rise 3.2s var(--ease-out-expo) forwards;filter:drop-shadow(0 4px 10px rgba(255,110,155,.35))}@keyframes dalat-celebration-veil{0%{opacity:0}20%{opacity:1}to{opacity:.65}}@keyframes dalat-heart-rocket{0%{opacity:0;transform:translateY(0) scale(.4)}12%{opacity:1}55%{opacity:1;transform:translateY(-48vh) scale(1.15)}56%{opacity:0;transform:translateY(-48vh) scale(.2)}to{opacity:0;transform:translateY(-48vh) scale(.2)}}@keyframes dalat-firework-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}40%{opacity:1;transform:translate(-50%,-50%) scale(1.35)}to{opacity:0;transform:translate(-50%,-50%) scale(.4)}}@keyframes dalat-firework-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(0)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--fw-x, 0px)),calc(-50% + var(--fw-y, 0px))) scale(1.15) rotate(28deg)}}@keyframes dalat-heart-shoot{0%{opacity:0;transform:translate(0) scale(.45)}15%{opacity:1}to{opacity:0;transform:translate(var(--shoot-x, 0px),var(--shoot-y, 0px)) scale(1.25) rotate(18deg)}}@keyframes dalat-heart-rise{0%{opacity:0;transform:translateZ(0) scale(.55)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--heart-drift, 0px),-105vh,0) scale(1.2) rotate(12deg)}}.dalat-success{position:relative;z-index:1;min-height:200px;padding:12px 0 80px;animation:dalat-success-pop .72s var(--ease-spring) both}@keyframes dalat-success-pop{0%{opacity:0;transform:scale(.88) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.dalat-success__title{margin:0 0 8px;font-size:clamp(24px,5vw,32px);font-weight:800;color:var(--c-deep)}.dalat-success__sub{margin:0;font-size:16px;color:var(--c-text-muted)}.dalat-hearts{position:absolute;inset:0;pointer-events:none;overflow:hidden}.dalat-heart{position:absolute;bottom:-10%;animation:dalat-heart-float 2.8s var(--ease-out-expo) forwards;opacity:0}@keyframes dalat-heart-float{0%{transform:translateY(0) scale(.6);opacity:0}12%{opacity:1}to{transform:translateY(-220px) scale(1.15);opacity:0}}@media(max-width:768px){:root{--root-sidebar-width: var(--root-sidebar-width-collapsed)}.root-sidebar__label{display:none}.root-sidebar__head{flex-direction:column;align-items:center}.root-sidebar__brand,.root-sidebar__link{justify-content:center;padding-inline:10px}.dalat-playfield{min-height:320px}.dalat-no-wrap{left:calc(50% + 72px)}}
