html,body,#root{margin:0;min-width:320px;min-height:100%}:root{--bg-deep: #080b1a;--bg-mid: #13213d;--bg-soft: #243b63;--panel: rgba(7, 10, 24, .74);--panel-border: rgba(255, 255, 255, .13);--text: #f6f1e4;--muted: #d1c7b1;--accent: #ffe6a6;--accent-strong: #f7c96a;--danger: #d76363;--danger-soft: rgba(215, 99, 99, .15);--shadow: 0 24px 40px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:var(--text);background:radial-gradient(circle at 15% 10%,#21335f 0%,transparent 42%),radial-gradient(circle at 84% 20%,#33456f 0%,transparent 35%),radial-gradient(circle at 70% 78%,#1f2f52 0%,transparent 45%),linear-gradient(165deg,var(--bg-mid),var(--bg-deep) 65%)}body.night-deep{background:radial-gradient(circle at 12% 8%,#172748 0%,transparent 36%),radial-gradient(circle at 86% 18%,#202f56 0%,transparent 33%),radial-gradient(circle at 69% 76%,#13223f 0%,transparent 40%),linear-gradient(170deg,#0a1026,#050811 70%)}button,input,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr;gap:16px;padding:20px}.landing-panel{min-height:74vh;padding:28px;display:grid;grid-template-rows:auto 1fr;gap:16px;position:relative;overflow:hidden}.landing-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,231,178,.14),transparent 38%),radial-gradient(circle at 80% 75%,rgba(255,208,122,.12),transparent 36%);pointer-events:none}.landing-top{display:flex;justify-content:space-between;align-items:center;gap:10px;position:relative;z-index:1}.landing-content{position:relative;z-index:1;width:min(760px,100%);margin:auto;display:grid;gap:14px;text-align:left}.landing-eyebrow{margin:0;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:#ffe7b2}.landing-title{margin:0;font-family:MaruBuri,Nanum Myeongjo,Times New Roman,serif;font-size:clamp(2rem,5.2vw,3.6rem);letter-spacing:.02em}.landing-body{margin:0;max-width:44ch;line-height:1.7;color:var(--muted)}.landing-cta{width:fit-content}.topbar{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-actions{display:flex;align-items:center;gap:10px}.auth-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;font-size:.78rem;color:#ffe7b2}.auth-pill.muted{color:var(--muted)}.title-wrap{display:flex;flex-direction:column;gap:4px}.brand{margin:0;font-family:MaruBuri,Nanum Myeongjo,Times New Roman,serif;letter-spacing:.02em;font-weight:600;font-size:clamp(1.3rem,2.3vw,1.8rem)}.tagline{color:var(--muted);font-size:.92rem}.chip{padding:5px 10px;border-radius:999px;background:#f7c96a2e;color:#ffe7b2;font-size:.75rem}.lang-toggle{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:5px 10px;font-size:.78rem;color:var(--text);text-decoration:none;background:#ffffff14}.lang-toggle:hover{background:#ffffff26}.main-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:18px;min-height:0}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:20px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.quality-panel{padding:18px;display:grid;gap:14px}.quality-panel h2,.quality-panel h3{margin:0;font-family:MaruBuri,Nanum Myeongjo,serif}.quality-intro{margin:0;color:var(--muted);line-height:1.6}.quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quality-item{border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#060a168c;padding:12px}.quality-item p{margin:8px 0 0;line-height:1.55;color:var(--muted);font-size:.92rem}.faq-box{border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#060a1673;padding:12px}.faq-list{margin:8px 0 0;display:grid;gap:8px}.faq-list dt{color:#ffe7b2;font-weight:600}.faq-list dd{margin:0;color:var(--muted);line-height:1.55}.site-footer{display:grid;gap:8px;padding:12px 14px}.site-footer p{margin:0;color:var(--muted);font-size:.86rem}.footer-links{display:flex;gap:10px;flex-wrap:wrap}.footer-links a{color:#ffe7b2;text-decoration:none;border-bottom:1px solid rgba(255,231,178,.35)}.footer-links a:hover{opacity:.88}.sky-panel{position:relative;min-height:70vh;overflow:hidden;isolation:isolate}.sky-panel:before,.sky-panel:after{content:"";position:absolute;inset:0;pointer-events:none}.sky-panel:before{background-image:radial-gradient(1.8px 1.8px at 12% 16%,rgba(255,255,255,.82),transparent),radial-gradient(1.4px 1.4px at 24% 74%,rgba(255,255,255,.75),transparent),radial-gradient(2px 2px at 39% 28%,rgba(255,248,228,.76),transparent),radial-gradient(1.6px 1.6px at 55% 68%,rgba(255,255,255,.71),transparent),radial-gradient(1.8px 1.8px at 78% 32%,rgba(255,244,214,.73),transparent),radial-gradient(1.5px 1.5px at 92% 58%,rgba(255,255,255,.74),transparent),radial-gradient(1.7px 1.7px at 87% 84%,rgba(255,247,221,.72),transparent);opacity:.88;z-index:-2}.sky-panel:after{background:radial-gradient(circle at 50% 45%,rgba(255,223,160,.13),transparent 68%);z-index:-1}.ambient-sky{position:absolute;inset:0;pointer-events:none;z-index:-1}.bg-star{position:absolute;display:block;transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle,#fffffff2,#fff2d5db 62%,#ffdfa60a);box-shadow:0 0 12px #ffe8b580;animation:skyTwinkle 4s ease-in-out infinite}.sky-canvas{position:absolute;inset:0}.empty-state{position:absolute;inset:0;display:grid;place-content:center;gap:8px;text-align:center;color:var(--muted);padding:24px}.empty-state h2{margin:0;font-family:MaruBuri,Nanum Myeongjo,serif;font-size:1.4rem}.empty-state p{margin:0;max-width:32ch;line-height:1.5}.star{position:absolute;transform:translate(-50%,-50%);border-radius:999px;border:0;cursor:pointer;background:radial-gradient(circle at 30% 28%,#fffdf4,#fff0ca,#ffd893 70%,#ffce8866);box-shadow:0 0 24px #ffe0a66b,0 0 48px #ffd07d38;transition:transform .24s ease,box-shadow .24s ease,filter .24s ease;animation:starPulse 4.8s ease-in-out infinite}.star:before{content:"";position:absolute;inset:-4px;border-radius:inherit;border:1px solid rgba(255,235,190,.78);box-shadow:0 0 10px #ffdc8c73;pointer-events:none}.star:after{content:"";position:absolute;inset:-14px;border-radius:inherit;pointer-events:none;background:radial-gradient(circle,rgba(255,231,180,.32),transparent 72%)}.star:hover,.star:focus-visible{transform:translate(-50%,-50%) scale(1.2);filter:brightness(1.14);box-shadow:0 0 34px #ffe9b4a8,0 0 68px #ffd98b59;outline:none}.star.anniversary{box-shadow:0 0 38px #ffe59feb,0 0 72px #ffd5766b}.star.twinkle{animation:starPulse 4.8s ease-in-out infinite,twinkle 1.2s ease-in-out 3}@keyframes starPulse{0%,to{filter:brightness(.94);box-shadow:0 0 22px #ffdea066,0 0 44px #ffce7a33}50%{filter:brightness(1.14);box-shadow:0 0 30px #ffe8b29e,0 0 64px #ffd48257}}@keyframes twinkle{0%,to{filter:brightness(.96);box-shadow:0 0 20px #ffda9a61,0 0 42px #ffcb7838}45%{filter:brightness(1.55);box-shadow:0 0 44px #ffe9b9e6,0 0 86px #ffd78585}}@keyframes skyTwinkle{0%,to{transform:translate(-50%,-50%) scale(.92);filter:brightness(.9)}50%{transform:translate(-50%,-50%) scale(1.18);filter:brightness(1.26)}}.tooltip{position:absolute;padding:9px 11px;border-radius:10px;background:#050710e0;border:1px solid rgba(255,255,255,.2);max-width:230px;pointer-events:none;transform:translate(-50%,-112%);color:#fff6df;font-size:.85rem;line-height:1.4}.tooltip strong{display:block;margin-bottom:2px}.side-panel{display:flex;flex-direction:column;padding:18px;gap:18px}.card{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px;background:#090c1d7a}.auth-panel{display:grid;gap:10px}.auth-message{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.auth-error{margin:0;color:#ffd7d7;font-size:.86rem;line-height:1.5}.auth-help{margin:0;color:var(--muted);font-size:.8rem}.card h2,.card h3{margin:0 0 10px;font-family:MaruBuri,Nanum Myeongjo,serif}.field-grid{display:grid;gap:10px}label{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}input,textarea{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:11px;padding:10px 12px;background:#03040b8c;color:var(--text)}input:focus,textarea:focus{border-color:#ffdf93b3;outline:none}textarea{min-height:92px;resize:vertical}.btn-row{display:flex;align-items:center;gap:8px;margin-top:2px}.btn{border:0;border-radius:11px;cursor:pointer;padding:10px 13px;font-weight:600;transition:transform .18s ease,opacity .18s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:linear-gradient(140deg,var(--accent),var(--accent-strong));color:#2f2209}.btn.secondary{background:#ffffff21;color:var(--text)}.btn.danger{background:var(--danger-soft);color:#ffd7d7;border:1px solid rgba(240,125,125,.4)}.btn[disabled],input[disabled],textarea[disabled]{opacity:.6;cursor:not-allowed}.mini-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.mini-item{border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0507129e;padding:9px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px}.mini-item button{border:0;background:transparent;color:#ffe5ac;cursor:pointer}.detail-layout{min-height:78vh;padding:22px;display:grid;grid-template-rows:auto auto 1fr;gap:16px}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.detail-title{margin:0;font-family:MaruBuri,Nanum Myeongjo,serif;font-size:clamp(1.4rem,2.3vw,1.9rem)}.detail-meta{color:var(--muted);font-size:.9rem}.record-box{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px;background:#0609139e;display:grid;gap:10px}.record-box p{margin:0;color:var(--muted)}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px}.timeline-item{border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#05081294;padding:11px 13px;display:grid;gap:6px}.timeline-top{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#ffe7b2;font-size:.86rem}.timeline-item p{margin:0;line-height:1.5;white-space:pre-wrap}.timeline-empty{color:var(--muted);font-size:.95rem}@media(max-width:980px){.main-grid{grid-template-columns:1fr}.sky-panel{min-height:58vh}.quality-grid{grid-template-columns:1fr}}@media(max-width:620px){.app-shell,.topbar{padding:12px}.side-panel,.detail-layout,.landing-panel{padding:14px}.chip{display:none}.landing-title{font-size:clamp(1.8rem,10vw,2.5rem)}}
