@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600&display=swap";:root{color:#493d35;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f7f2ea;font-family:Noto Sans KR,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{background:#f7f2ea;max-width:1180px;min-height:100vh;margin:0 auto;padding:0 56px}.topbar{border-bottom:1px solid #e6ddd2;justify-content:space-between;align-items:center;height:92px;display:flex}.brand{color:#493d35;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.brand-mark{color:#fffaf1;background:#776752;border-radius:50%;place-items:center;width:35px;height:35px;font-family:Noto Serif KR,serif;font-size:18px;display:grid}.brand strong{letter-spacing:-1px;font-family:Noto Serif KR,serif;font-size:22px;font-weight:600;line-height:1.1;display:block}.brand small{color:#9b8f83;letter-spacing:.3px;margin-top:3px;font-size:10px;display:block}.top-actions{align-items:center;gap:26px;display:flex}.install-button{color:#80664e;cursor:pointer;white-space:nowrap;background:#fffaf2;border:1px solid #c8b39a;border-radius:999px;padding:8px 12px;font-size:11px}.install-button:hover{color:#5e4938;background:#efe3d3}.text-button,.back-button{color:#796b5d;background:0 0;border:0;padding:8px 0;font-size:13px}.text-button:hover,.back-button:hover{color:#42372e}.primary-button{color:#fffaf1;letter-spacing:-.2px;background:#655543;border:0;border-radius:4px;padding:14px 24px;font-weight:600;transition:transform .2s,background .2s;box-shadow:0 7px 18px #604c351c}.primary-button:hover{background:#4f4235;transform:translateY(-2px)}.primary-button span{margin-left:24px;font-size:18px}.primary-button.small{padding:10px 15px;font-size:12px}.hero-section{border-bottom:1px solid #e6ddd2;grid-template-columns:1fr 1fr;align-items:center;min-height:505px;display:grid}.eyebrow{color:#ae9678;letter-spacing:2px;margin:0 0 15px;font-size:10px;font-weight:700}h1,h2,h3,p{margin-top:0}.hero-section h1{color:#493d35;letter-spacing:-4px;margin:0 0 23px;font-family:Noto Serif KR,serif;font-size:clamp(42px,5vw,66px);font-weight:500;line-height:1.25}.hero-section h1 em{color:#a4835e;font-style:normal}.hero-copy{color:#8d7f71;margin-bottom:31px;font-size:15px;line-height:1.9}.hero-art{place-items:center;height:360px;display:grid;position:relative}.sun{opacity:.72;background:#e4d6bf;border-radius:50%;width:280px;height:280px;position:absolute}.paper-card{background:#fbf7ed;border:1px solid #eee2d0;width:245px;height:285px;padding:31px 27px;position:relative;transform:rotate(5deg);box-shadow:16px 20px 35px #5e4c3522}.paper-card span{color:#ae9678;letter-spacing:1.4px;font-size:11px}.paper-card strong{color:#544438;letter-spacing:-2px;margin-top:42px;font-family:Noto Serif KR,serif;font-size:30px;font-weight:500;line-height:1.55;display:block}.paper-card i{color:#b7966a;font-size:24px;font-style:normal;position:absolute;bottom:23px;right:26px}.leaf{color:#7b8a73;font-size:70px;position:absolute;bottom:19%;right:17%;transform:rotate(-32deg)}.today-section,.archive-page,.writer-page{padding:66px 0 80px}.section-title{justify-content:space-between;align-items:end;margin-bottom:27px;display:flex}.section-title h2,.page-heading h1{color:#493d35;letter-spacing:-2px;margin:0;font-family:Noto Serif KR,serif;font-size:36px;font-weight:500}.record-detail{background:#fffaf2;grid-template-columns:minmax(290px,46%) 1fr;min-height:310px;display:grid;box-shadow:0 10px 30px #5e4c3511}.detail-image{background:#e9e1d4;min-height:310px;overflow:hidden}.detail-image img,.card-image img{object-fit:cover;width:100%;height:100%;display:block}.detail-photo-grid{background:#f7f2ea;grid-template-columns:repeat(2,1fr);gap:3px;height:100%;min-height:310px;display:grid}.detail-photo-grid img{aspect-ratio:1;min-width:0;min-height:0}.placeholder-art{text-align:center;color:#b39b7b;background:radial-gradient(circle at 40% 38%,#d5c5ad 0 22%,#0000 23%),#e9e1d4;place-content:center;height:100%;min-height:310px;display:grid}.placeholder-art span{opacity:.6;font-size:70px}.placeholder-art small{letter-spacing:2px;font-size:9px}.detail-copy{padding:44px 47px}.detail-meta{color:#a4917b;letter-spacing:.4px;justify-content:space-between;font-size:11px;display:flex}.mood{color:#a5825b}.detail-copy h3{letter-spacing:-1px;margin:27px 0 15px;font-family:Noto Serif KR,serif;font-size:30px;font-weight:500}.story{color:#75675b;white-space:pre-wrap;font-size:14px;line-height:1.9}.detail-info{color:#9a8878;flex-wrap:wrap;gap:13px;margin:25px 0 22px;font-size:11px;display:flex}.tag-row{flex-wrap:wrap;gap:7px;display:flex}.tag-row span{color:#9a8062;background:#eee6d8;border-radius:99px;padding:5px 10px;font-size:10px}.delete-record-button{color:#a16f61;cursor:pointer;background:0 0;border:1px solid #d4b8ab;margin-top:25px;padding:9px 13px;font-size:11px;transition:background .2s,color .2s}.delete-record-button:hover{color:#8a5549;background:#f3e3de}footer{color:#a8998b;border-top:1px solid #e6ddd2;justify-content:space-between;padding:22px 0 28px;font-size:11px;display:flex}footer span:first-child{color:#776753;font-family:Noto Serif KR,serif;font-size:14px}.page-heading{margin-bottom:38px}.page-heading p:last-child{color:#968678;margin:11px 0 0;font-size:13px}.page-heading.compact{margin-bottom:27px}.back-button{margin-bottom:29px}.record-form{max-width:790px;margin:0 auto}.photo-uploader{margin-bottom:25px}.photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.photo-tile,.photo-add{aspect-ratio:1;background:#eee5d7;border:1px dashed #cbb9a2;position:relative;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%;display:block}.photo-tile button{color:#fffaf1;background:#493d35d9;border:0;border-radius:50%;width:25px;height:25px;font-size:19px;line-height:20px;position:absolute;top:7px;right:7px}.photo-add{color:#9b8771;text-align:center;cursor:pointer;place-content:center;display:grid}.photo-add:hover{background:#e9dfd0}.photo-add input{opacity:0;cursor:pointer;position:absolute;inset:0}.photo-help{color:#aa967e;text-align:right;margin:8px 0 0;font-size:10px}.camera-icon{color:#b59c7a;margin-bottom:9px;font-size:37px;line-height:1;display:block;transform:rotate(-20deg)}.photo-add strong{color:#806d59;font-family:Noto Serif KR,serif;font-size:14px;font-weight:500;display:block}.photo-add small{margin-top:5px;font-size:9px;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:18px 20px;margin-bottom:21px;display:grid}.record-form label{color:#806f60;font-size:12px;display:block}.record-form input,.record-form textarea,.record-form select,.archive-toolbar input{color:#493d35;background:#fffaf2;border:1px solid #ded3c4;border-radius:3px;outline:none;width:100%;margin-top:7px;padding:12px 13px;display:block}.record-form input:focus,.record-form textarea:focus,.record-form select:focus,.archive-toolbar input:focus{border-color:#a98b68;box-shadow:0 0 0 3px #a98b681c}.record-form textarea{resize:vertical;line-height:1.8}.analysis-note{color:#aa967e;margin:13px 0 19px;font-size:11px}.save-button{width:100%}.archive-toolbar{color:#9c8a79;justify-content:space-between;align-items:center;margin-bottom:21px;font-size:12px;display:flex}.archive-toolbar input{width:220px;margin:0;padding:9px 12px}.archive-grid{grid-template-columns:repeat(2,1fr);gap:19px;display:grid}.record-card{text-align:left;color:#493d35;background:#fffaf2;border:0;grid-template-columns:135px 1fr;min-height:170px;padding:0;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:0 8px 24px #5e4c3510}.record-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #5e4c3520}.card-image{color:#b59c7a;background:#e9e1d4;place-items:center;min-height:170px;font-size:36px;display:grid;overflow:hidden}.card-copy{min-width:0;padding:22px 20px}.card-copy small{color:#ac967b;font-size:10px}.card-copy h3{white-space:nowrap;text-overflow:ellipsis;margin:8px 0;font-family:Noto Serif KR,serif;font-size:17px;font-weight:500;overflow:hidden}.card-copy p{color:#8b7c6f;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.65;display:-webkit-box;overflow:hidden}.card-copy .tag-row{margin-top:12px}.archive-ad{margin-top:29px}.ad-slot{color:#b2a08c;background:#f2ebdf;border:1px solid #e6ddd2;justify-content:center;align-items:center;gap:10px;min-height:62px;font-size:11px;display:flex}.ad-slot span{border:1px solid #cdbba5;padding:2px 4px;font-size:8px}.empty-state{text-align:center;color:#9a8877;background:#f1eade;padding:70px 20px}.empty-state>span{color:#b49b78;font-size:34px}.empty-state h3{color:#796655;margin:15px 0 8px;font-family:Noto Serif KR,serif;font-weight:500}.empty-state p{font-size:13px;line-height:1.8}.outline-button{color:#846d56;background:0 0;border:1px solid #aa9173;margin-top:15px;padding:10px 17px}.login-shell{background:#f7f2ea;grid-template-columns:1fr 1fr;align-items:center;gap:40px;min-height:100vh;padding:70px 9%;display:grid}.login-card{width:100%;max-width:430px;margin:0 auto}.login-brand{color:#493d35;align-items:center;gap:11px;margin-bottom:70px;display:flex}.login-brand strong{font-family:Noto Serif KR,serif;font-size:23px;font-weight:600}.login-card h1{color:#493d35;letter-spacing:-3px;margin:0 0 19px;font-family:Noto Serif KR,serif;font-size:clamp(38px,5vw,57px);font-weight:500;line-height:1.3}.login-card h1 em{color:#a4835e;font-style:normal}.login-copy{color:#968678;margin-bottom:31px;font-size:14px;line-height:1.9}.login-form{gap:16px;display:grid}.login-form label{color:#806f60;font-size:12px}.login-form input{color:#493d35;background:#fffaf2;border:1px solid #ded3c4;border-radius:3px;outline:none;width:100%;margin-top:7px;padding:13px;display:block}.login-form input:focus{border-color:#a98b68;box-shadow:0 0 0 3px #a98b681c}.login-form .primary-button{width:100%;margin-top:8px}.social-buttons{gap:10px;display:grid}.social-button{color:#493d35;cursor:pointer;background:#fffaf2;border:1px solid #ded3c4;border-radius:3px;width:100%;padding:13px;font-weight:600;position:relative}.social-button:hover{background:#f1e8da}.social-button b{font-size:17px;position:absolute;left:16px}.social-button.google b{color:#4285f4;font-family:Arial,sans-serif}.login-divider{color:#b19e89;align-items:center;gap:12px;margin:23px 0 17px;font-size:10px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#e3d8c9;flex:1;height:1px}.auth-error{color:#a75f51;background:#f5e4df;margin:15px 0 0;padding:10px 12px;font-size:11px;line-height:1.5}.auth-message{color:#60795f;background:#e7efe2;margin:15px 0 0;padding:10px 12px;font-size:11px;line-height:1.5}.auth-switch{color:#907657;cursor:pointer;background:0 0;border:0;width:100%;margin-top:17px;font-size:11px;display:block}.auth-switch:hover{color:#5c4939;text-decoration:underline}.auth-loading{color:#8b7762;background:#f7f2ea;place-items:center;min-height:100vh;font-family:Noto Serif KR,serif;display:grid}.demo-badge{color:#ad997f;text-align:center;margin-top:18px;font-size:10px;display:block}.login-decoration{place-items:center;height:430px;display:grid;position:relative}.login-decoration .sun{width:330px;height:330px}.login-decoration .paper-card{width:260px;height:315px}.logout-button{color:#a89583}@media (width<=760px){.login-shell{padding:38px 20px;display:block}.login-brand{margin-bottom:58px}.login-decoration{display:none}.app-shell{padding:0 20px}.topbar{height:76px}.top-actions{gap:12px}.top-actions .text-button{font-size:11px}.hero-section{grid-template-columns:1fr;min-height:auto;padding:62px 0 38px}.hero-section h1{font-size:46px}.hero-art{height:280px;margin-top:20px}.sun{width:210px;height:210px}.paper-card{width:190px;height:230px;padding:22px}.paper-card strong{margin-top:35px;font-size:23px}.leaf{bottom:12%;right:10%}.record-detail{grid-template-columns:1fr}.detail-image,.detail-photo-grid,.placeholder-art{min-height:240px}.detail-copy{padding:28px 25px}.archive-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:15px}footer{margin-top:10px}}@media (width<=430px){.brand small{display:none}.brand strong{font-size:19px}.primary-button.small{padding:9px 10px;font-size:11px}.hero-section h1{font-size:40px}.section-title h2,.page-heading h1{font-size:30px}}
