@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600;700&family=Noto+Sans+SC:wght@300;400;500;600;700&display=swap";.toast{position:fixed;right:1.5rem;bottom:1.5rem;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:.85rem;width:min(92vw,420px);padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);background:#121024f0;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.toast.success{border-color:#8be6bd73}.toast.error{border-color:#ff7f9a8c}.toast.info{border-color:#9fc8ff73}.toast.warning{border-color:#f5c88f80}.toast-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);background:#ffffff0f;font-size:1.2rem;line-height:1}.toast-close:hover{color:var(--rose-bright);border-color:var(--line-strong)}@media(max-width:768px){.toast{right:1rem;bottom:1rem;left:1rem;width:auto}}.layout[data-v-b34f82f1]{--sidebar-collapsed-w: 64px;--sidebar-expanded-w: 248px;--sidebar-w: var(--sidebar-collapsed-w);--page-px: clamp(1rem, 3vw, 2.75rem);display:flex;min-height:100vh;overflow-x:clip}.sidebar[data-v-b34f82f1]{position:fixed;inset:0 auto 0 0;z-index:50;display:flex;flex-direction:column;width:var(--sidebar-collapsed-w);overflow:hidden;background:linear-gradient(180deg,#0c0912fa,#07070dfa),radial-gradient(circle at 100% 6%,rgba(245,200,143,.12),transparent 36%),radial-gradient(circle at 0% 32%,rgba(239,111,169,.12),transparent 38%);border-right:1px solid rgba(245,200,143,.12);box-shadow:inset -1px 0 #ffffff0a,18px 0 54px #00000042;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:width var(--dur-slow) ease,box-shadow var(--dur-slow) ease}.sidebar[data-v-b34f82f1]:hover,.sidebar[data-v-b34f82f1]:focus-within{width:var(--sidebar-expanded-w);box-shadow:inset -1px 0 #ffffff0a,26px 0 70px #0000005c}.sidebar[data-v-b34f82f1]:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(245,200,143,.06) 52%,transparent),radial-gradient(1px 1px at 24% 18%,rgba(255,255,255,.5),transparent 2px),radial-gradient(1px 1px at 82% 42%,rgba(255,154,200,.42),transparent 2px);opacity:.55}.sidebar-header[data-v-b34f82f1]{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:112px;width:var(--sidebar-expanded-w);padding:34px 18px 22px}.logo[data-v-b34f82f1]{display:inline-flex;align-items:center;gap:10px;min-width:180px;color:#fff;font-size:17px;font-weight:800}.heart-mark[data-v-b34f82f1]{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#fff;background:radial-gradient(circle at 36% 30%,#ffe2ef 0 20%,#ff7cb7 45%,#ee4fa1);box-shadow:0 0 24px #ff7cb78c}.logo-text[data-v-b34f82f1],.sidebar-nav[data-v-b34f82f1],.sidebar-footer[data-v-b34f82f1]{opacity:0;transform:translate(-8px);transition:opacity var(--dur-base) ease,transform var(--dur-base) ease}.sidebar:hover .logo-text[data-v-b34f82f1],.sidebar:focus-within .logo-text[data-v-b34f82f1],.sidebar:hover .sidebar-nav[data-v-b34f82f1],.sidebar:focus-within .sidebar-nav[data-v-b34f82f1],.sidebar:hover .sidebar-footer[data-v-b34f82f1],.sidebar:focus-within .sidebar-footer[data-v-b34f82f1]{opacity:1;transform:translate(0)}.sidebar:not(:hover):not(:focus-within) .sidebar-nav[data-v-b34f82f1],.sidebar:not(:hover):not(:focus-within) .sidebar-footer[data-v-b34f82f1]{pointer-events:none}.sidebar-nav[data-v-b34f82f1]{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;gap:10px;width:var(--sidebar-expanded-w);padding:8px 20px}.nav-item[data-v-b34f82f1]{display:flex;align-items:center;gap:14px;width:100%;min-height:54px;padding:0 16px;border:1px solid transparent;border-radius:12px;color:#d8d0e5;background:transparent;text-align:left;transition:transform var(--dur-base) ease,background var(--dur-base) ease,border-color var(--dur-base) ease,color var(--dur-base) ease}.nav-item svg[data-v-b34f82f1]{flex:0 0 auto}.nav-item[data-v-b34f82f1]:hover,.nav-item[data-v-b34f82f1]:focus-visible{color:#fff;background:#f5c88f14;outline:none;transform:translate(3px)}.nav-item.active[data-v-b34f82f1]{color:var(--rose-bright);border-color:#f5c88f24;background:linear-gradient(90deg,#5d213ba8,#251a3766),radial-gradient(circle at 100% 50%,rgba(245,200,143,.12),transparent 38%);box-shadow:inset 0 0 0 1px #ff8fc80f,0 10px 24px #0000002e;font-weight:700}.badge[data-v-b34f82f1],.active-indicator[data-v-b34f82f1]{margin-left:auto}.badge[data-v-b34f82f1]{min-width:20px;height:20px;padding:0 6px;border-radius:999px;color:#fff;background:var(--rose);font-size:.7rem;font-weight:800;text-align:center;line-height:20px;box-shadow:0 0 14px #f078b673}.sidebar-footer[data-v-b34f82f1]{position:relative;z-index:1;width:var(--sidebar-expanded-w);padding:1rem 20px 1.5rem}.user-info[data-v-b34f82f1]{display:flex;align-items:center;gap:12px;width:100%;padding:.5rem;border:1px solid transparent;border-radius:10px;color:#fff;background:transparent}.user-info[data-v-b34f82f1]:hover{background:#ffffff0f}.user-avatar[data-v-b34f82f1]{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:linear-gradient(135deg,#f8c7d6,#5b6a9f)}.user-details[data-v-b34f82f1]{display:grid;min-width:0;text-align:left}.user-name[data-v-b34f82f1]{overflow:hidden;color:#fff;font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.user-email[data-v-b34f82f1]{overflow:hidden;color:#8b8498;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.user-menu[data-v-b34f82f1]{position:absolute;right:20px;bottom:calc(100% - .5rem);left:20px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#121024f5;box-shadow:var(--shadow-md)}.logout-btn[data-v-b34f82f1]{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:42px;border:0;color:var(--ink-soft);background:transparent}.logout-btn[data-v-b34f82f1]:hover{color:var(--rose-bright);background:#f078b61f}.main-content[data-v-b34f82f1]{display:flex;flex:1;flex-direction:column;min-width:0;margin-left:var(--sidebar-w)}.page-content[data-v-b34f82f1]{width:100%;max-width:1480px;margin:0 auto;padding:clamp(1rem,2.4vw,2rem) var(--page-px) clamp(1.5rem,3vw,3.5rem)}.top-bar[data-v-b34f82f1]{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.75rem;height:56px;padding:0 1rem;border-bottom:1px solid rgba(245,200,143,.12);background:#07070ddb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.top-bar-title[data-v-b34f82f1]{color:#fff;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn[data-v-b34f82f1]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-soft);background:#ffffff0f;transition:transform var(--dur-base) ease,color var(--dur-base) ease,border-color var(--dur-base) ease,background var(--dur-base) ease}.icon-btn[data-v-b34f82f1]:hover{color:var(--rose-bright);border-color:var(--line-strong);background:#f078b624;transform:translateY(-1px)}.sidebar-overlay[data-v-b34f82f1]{position:fixed;inset:0;z-index:40;background:#00000094;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@media(max-width:767px){.layout[data-v-b34f82f1]{--sidebar-w: 0px}.sidebar[data-v-b34f82f1]{width:min(86vw,312px);transform:translate(-100%);transition:transform var(--dur-slow) ease}.sidebar[data-v-b34f82f1]:hover,.sidebar[data-v-b34f82f1]:focus-within{width:min(86vw,312px);box-shadow:inset -1px 0 #ffffff0a,18px 0 54px #00000042}.sidebar.open[data-v-b34f82f1]{transform:translate(0)}.sidebar-header[data-v-b34f82f1],.sidebar-nav[data-v-b34f82f1],.sidebar-footer[data-v-b34f82f1]{width:min(86vw,312px)}.logo-text[data-v-b34f82f1],.sidebar-nav[data-v-b34f82f1],.sidebar-footer[data-v-b34f82f1]{opacity:1;transform:none}.sidebar:not(:hover):not(:focus-within) .sidebar-nav[data-v-b34f82f1],.sidebar:not(:hover):not(:focus-within) .sidebar-footer[data-v-b34f82f1]{pointer-events:auto}.main-content[data-v-b34f82f1]{margin-left:0}.page-content[data-v-b34f82f1]{padding:1rem max(1rem,env(safe-area-inset-left)) calc(1.5rem + env(safe-area-inset-bottom))}}:root{--page: #05050b;--page-2: #0c0a16;--panel: rgba(18, 13, 24, .88);--panel-soft: rgba(25, 18, 34, .74);--panel-glass: rgba(38, 24, 50, .72);--panel-strong: rgba(13, 10, 18, .96);--cinema-black: #05050b;--cinema-plum: #211327;--cinema-wine: #4a182c;--rose: #ef6fa9;--rose-bright: #ff9ac8;--rose-soft: rgba(239, 111, 169, .18);--violet: #8b68ff;--orchid: #be64c9;--gold: #f5c88f;--gold-soft: rgba(245, 200, 143, .18);--ink: #fbf7ff;--ink-soft: #cfc5dd;--ink-muted: #8d849e;--ink-dim: #5a5466;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 143, 200, .34);--danger: #ff7f9a;--success: #8be6bd;--warning: #f5c88f;--info: #9fc8ff;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--shadow-sm: 0 10px 28px rgba(0, 0, 0, .28);--shadow-md: 0 18px 44px rgba(0, 0, 0, .36);--shadow-lg: 0 34px 80px rgba(0, 0, 0, .48);--shadow-glow: 0 0 38px rgba(255, 154, 200, .24);--shadow-gold: 0 0 30px rgba(245, 200, 143, .16);--dur-fast: .14s;--dur-base: .2s;--dur-slow: .36s;--font-serif: "Noto Serif SC", "Songti SC", Georgia, serif;--font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--pink-50: var(--rose-soft);--pink-100: rgba(240, 120, 182, .24);--pink-200: rgba(240, 120, 182, .34);--pink-300: rgba(255, 143, 200, .48);--pink-400: #e879b1;--pink-500: var(--rose);--pink-600: var(--rose-bright);--rose-500: var(--rose-bright);--text-primary: var(--ink);--text-secondary: var(--ink-soft);--text-tertiary: var(--ink-muted);--border-soft: var(--line);--border-strong: var(--line-strong);--bg-base: var(--page);--bg-soft: rgba(255, 255, 255, .05);--bg-elevated: var(--panel);--shadow-soft: var(--shadow-md);--shadow-hover: var(--shadow-lg);--shadow-focus: 0 0 0 4px rgba(255, 143, 200, .2);font-family:var(--font-sans);color:var(--ink);background:var(--page);color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--page)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;color:var(--ink);background:radial-gradient(circle at 18% 12%,rgba(239,111,169,.18),transparent 25%),radial-gradient(circle at 86% 10%,rgba(139,104,255,.16),transparent 30%),radial-gradient(circle at 42% 90%,rgba(245,200,143,.08),transparent 34%),linear-gradient(135deg,#05050b,#120b1b 48%,#090812)}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(1px 1px at 14% 12%,rgba(255,255,255,.8),transparent 2px),radial-gradient(1px 1px at 35% 18%,rgba(255,210,241,.7),transparent 2px),radial-gradient(1.5px 1.5px at 56% 10%,rgba(255,255,255,.75),transparent 3px),radial-gradient(1px 1px at 76% 13%,rgba(255,160,211,.8),transparent 2px),radial-gradient(1px 1px at 91% 19%,rgba(255,255,255,.75),transparent 2px);opacity:.55}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px,42px 42px;opacity:.32;-webkit-mask-image:radial-gradient(circle at center,#000 0 62%,transparent 100%);mask-image:radial-gradient(circle at center,#000 0 62%,transparent 100%)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg,video{display:block;max-width:100%}#app{position:relative;z-index:1;width:100%;min-height:100vh}.page-shell{width:100%}.page-narrow{width:100%;max-width:920px;margin:0 auto}.page-header{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding:clamp(1rem,2.4vw,1.55rem);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,#1c1224c7,#090810a3),radial-gradient(circle at 88% 0%,rgba(245,200,143,.12),transparent 36%);box-shadow:var(--shadow-sm)}.page-header:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(245,200,143,.16),transparent 34%),radial-gradient(circle at 12% 18%,rgba(255,154,200,.16),transparent 28%);opacity:.75}.page-title,.section-title{position:relative;margin:0;color:var(--ink);letter-spacing:0}.page-title{display:flex;align-items:center;gap:.55rem;font-family:var(--font-serif);font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.2;font-weight:700}.page-subtitle{position:relative;margin:.35rem 0 0;color:var(--ink-soft)}.romance-kicker{position:relative;display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.45rem;color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.romance-kicker:before{content:"";width:28px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}.cinematic-card,.cinematic-frame{position:relative;overflow:hidden;border:1px solid rgba(245,200,143,.16);border-radius:var(--radius-lg);background:linear-gradient(135deg,#1e1427e6,#0a0910e6),radial-gradient(circle at 92% 8%,rgba(239,111,169,.15),transparent 38%);box-shadow:var(--shadow-md),inset 0 0 0 1px #ffffff08;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.cinematic-card:before,.cinematic-frame:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 28%,rgba(255,255,255,.08) 42%,transparent 56%),radial-gradient(1px 1px at 18% 22%,rgba(255,255,255,.52),transparent 2px),radial-gradient(1px 1px at 78% 16%,rgba(245,200,143,.42),transparent 2px);opacity:.42}.cinematic-frame:after{content:"";position:absolute;inset:12px;border:1px solid rgba(245,200,143,.16);border-radius:calc(var(--radius-lg) - 6px);pointer-events:none}.cinematic-quote{color:var(--gold);font-family:var(--font-serif);font-size:clamp(.95rem,1.3vw,1.1rem);line-height:1.75}.reveal-in{animation:revealIn .56s ease both}.section-title{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700}.title-icon,.section-icon{color:var(--rose-bright)}.glass-card,.card,.filter-card,.detail-card,.editor-form,.empty-state-card,.notification-item,.countdown-item,.milestone-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,#1c1226e6,#0b0a12e0),radial-gradient(circle at 85% 10%,rgba(239,111,169,.16),transparent 42%);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.glass-card:hover,.diary-card:hover,.countdown-item:hover,.notification-item:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lg)}.btn-primary,.btn-secondary,.btn-danger,.btn-upload,.mark-all-btn,.action-btn,.comment-reply-btn,.comment-delete-btn,.edit-btn,.delete-btn,.pin-btn{border-radius:var(--radius-sm);transition:transform var(--dur-fast) ease,border-color var(--dur-base) ease,background var(--dur-base) ease,color var(--dur-base) ease,box-shadow var(--dur-base) ease,filter var(--dur-base) ease}.btn-primary,.btn-secondary,.btn-danger,.btn-upload,.mark-all-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.62rem 1.15rem;border:1px solid transparent;font-size:.875rem;font-weight:700}.btn-primary{color:#fff;background:linear-gradient(135deg,rgba(245,200,143,.18),transparent 38%),linear-gradient(135deg,var(--violet) 0%,var(--rose) 100%);box-shadow:0 14px 30px #7e58e847,0 0 22px #ef6fa92e}.btn-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 14px 32px #f078b647}.btn-secondary,.btn-upload,.mark-all-btn{color:var(--ink-soft);border-color:var(--line);background:#ffffff0f}.btn-secondary:hover:not(:disabled),.btn-upload:hover:not(.disabled),.mark-all-btn:hover{color:var(--ink);border-color:var(--line-strong);background:#f078b629;transform:translateY(-1px)}.btn-danger{color:#fff;background:linear-gradient(135deg,#b63d63,#f26b8f);box-shadow:0 10px 24px #f26b8f38}.btn-danger:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.58;cursor:not-allowed}.input-field,.form-input,.content-textarea,.comment-input,select,textarea,input[type=text],input[type=password],input[type=date]{width:100%;min-height:42px;padding:.64rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:#ffffff12;outline:none;transition:border-color var(--dur-base) ease,background var(--dur-base) ease,box-shadow var(--dur-base) ease}.input-field::-moz-placeholder,.form-input::-moz-placeholder,.content-textarea::-moz-placeholder,.comment-input::-moz-placeholder{color:#cfc5dd94}.input-field::placeholder,.form-input::placeholder,.content-textarea::placeholder,.comment-input::placeholder{color:#cfc5dd94}.input-field:focus,.form-input:focus,.content-textarea:focus,.comment-input:focus,select:focus,textarea:focus,input:focus{border-color:var(--line-strong);background:#ffffff1a;box-shadow:var(--shadow-focus)}select.input-field,select{color-scheme:dark}.form-label{display:block;margin-bottom:.45rem;color:var(--ink);font-size:.875rem;font-weight:700}.form-group{display:flex;flex-direction:column;margin-bottom:1rem}.form-row,.filter-grid{display:grid;grid-template-columns:1fr;gap:.9rem}.loading-container,.loading-state,.empty-state{display:grid;place-items:center;min-height:180px;color:var(--ink-soft);text-align:center}.spinner{width:2rem;height:2rem;border:2px solid rgba(255,255,255,.12);border-top-color:var(--rose-bright);border-radius:50%;animation:spin 1s linear infinite}@keyframes revealIn{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes softPulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.04)}}@keyframes filmDrift{0%{transform:translate3d(-1.5%,-1%,0)}to{transform:translate3d(1.5%,1%,0)}}@keyframes spin{to{transform:rotate(360deg)}}.tag,.category-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px solid rgba(237,101,174,.2);border-radius:999px;color:#f2a0ce;background:#ed65ae29;font-size:.75rem;font-weight:700}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.fade-enter-active,.fade-leave-active,.slide-up-enter-active,.slide-up-leave-active{transition:opacity var(--dur-slow) ease,transform var(--dur-slow) ease}.fade-enter-from,.fade-leave-to,.slide-up-enter-from,.slide-up-leave-to{opacity:0}.slide-up-enter-from,.slide-up-leave-to{transform:translateY(10px)}@media(min-width:768px){.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid{grid-template-columns:minmax(240px,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) auto}}@media(max-width:767px){.page-header{align-items:stretch;flex-direction:column;padding:1rem}.btn-primary,.btn-secondary,.btn-danger{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.reveal-in{animation:none!important}}::-moz-selection{background:#f078b64d;color:#fff}::selection{background:#f078b64d;color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff08}::-webkit-scrollbar-thumb{border-radius:999px;background:#f078b640;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#f078b666;background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:rgba(240,120,182,.3) transparent}
