:root{--paper:#f6f1e7;--paper-deep:#e9e1d3;--ink:#18241f;--ink-soft:#4e5a54;--green:#315c4b;--green-dark:#1e4033;--wine:#8c3048;--line:#d8d0bf;--white:#fffdf7;--serif:Iowan Old Style, Palatino Linotype, Noto Serif KR, Apple SD Gothic Neo, serif;--sans:Pretendard, SUIT, Apple SD Gothic Neo, system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #c59842}svg{width:1.15em;height:1.15em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:20;background:var(--paper);border-bottom:1px solid #315c4b24;grid-template-columns:1fr auto 1fr;align-items:center;height:82px;padding:0 clamp(24px,5vw,84px);display:grid;position:relative}.brand{color:var(--ink);font:700 25px var(--serif);letter-spacing:-.04em;justify-self:start;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand img{width:40px;height:40px}.site-header nav{gap:36px;display:flex}.site-header nav button,.text-button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:14px;font-weight:650}.site-header nav button:hover,.text-button:hover{color:var(--wine)}.header-cta{border:1px solid var(--green);background:var(--green);color:var(--white);cursor:pointer;justify-self:end;padding:12px 20px;font-size:13px;font-weight:750}.hero{background:var(--green-dark);min-height:700px;color:var(--white);align-items:center;display:flex;position:relative;overflow:hidden}.hero__image{object-fit:cover;object-position:center}.hero__veil{background:#0b1b156b;position:absolute;inset:0}.hero__copy{z-index:2;width:min(720px,80%);margin-left:clamp(24px,9vw,150px);padding:96px 0 112px;position:relative}.eyebrow,.section-kicker{letter-spacing:.2em;font-size:11px;font-weight:800;display:block}.eyebrow{color:#e7c8a2;margin-bottom:32px}.hero h1{max-width:720px;font:500 clamp(54px, 7.2vw, 105px)/1.04 var(--serif);letter-spacing:-.075em;text-wrap:balance;margin:0}.hero h1 span{color:#bf536d}.hero__copy>p{color:#fffdf7c7;font:400 clamp(17px, 1.5vw, 21px)/1.8 var(--serif);margin:34px 0 38px}.button{cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:0 24px;font-size:14px;font-weight:760;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button:disabled{cursor:not-allowed;opacity:.46}.button--paper{background:var(--paper);color:var(--green-dark)}.button--paper:hover{background:var(--white)}.button--green{background:var(--green);color:var(--white)}.button--green:hover{background:var(--green-dark)}.button--outline{border-color:var(--green);color:var(--green);background:0 0}.button--wide{width:100%}.button--wide span{color:#d68394;font:800 24px var(--serif)}.hero__note{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14251ec7;border-left:2px solid #bb526c;padding:23px 28px;position:absolute;bottom:52px;right:clamp(24px,6vw,92px)}.hero__note span{color:#e3c9a6;letter-spacing:.16em;font-size:10px;font-weight:800}.hero__note p{font:500 16px/1.6 var(--serif);margin:9px 0 0}.principles{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);align-items:center;min-height:92px;padding:0 clamp(24px,8vw,130px);display:grid}.principles p{color:var(--ink-soft);font:600 13px var(--serif);text-align:center;letter-spacing:.02em;border-right:1px solid var(--line);margin:0;padding:12px 9%}.principles p:last-child{border-right:0}.principles strong{color:var(--wine);font:800 10px var(--sans);letter-spacing:.12em;margin-right:13px}.workspace{grid-template-columns:minmax(250px,.65fr) minmax(0,1.6fr);gap:clamp(44px,7vw,112px);max-width:1500px;margin:0 auto;padding:clamp(90px,11vw,160px) clamp(24px,6vw,90px);display:grid}.workspace__intro{align-self:start;position:sticky;top:48px}.section-kicker,.view-heading span{color:var(--wine)}.workspace__intro h2,.closing h2{font:500 clamp(42px, 4.8vw, 70px)/1.13 var(--serif);letter-spacing:-.06em;margin:22px 0 27px}.workspace__intro p{max-width:360px;color:var(--ink-soft);font:400 16px/1.8 var(--serif)}.workspace__panel{min-width:0}.tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.tabs button{color:#6b746f;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:58px;padding:0 16px;font-size:14px;font-weight:720;display:flex}.tabs button[aria-selected=true]{border-bottom-color:var(--wine);color:var(--ink)}.tabs button span{background:var(--paper-deep);min-width:22px;color:var(--green);border-radius:99px;padding:3px 6px;font-size:10px}.view{padding-top:42px}.view-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px;display:flex}.view-heading span{letter-spacing:.18em;font-size:10px;font-weight:850}.view-heading h3{font:500 clamp(28px, 3vw, 42px)/1.25 var(--serif);letter-spacing:-.04em;margin:9px 0 0}.search{border:1px solid var(--line);background:var(--white);grid-template-columns:1fr auto;padding:7px;display:grid}.search input{min-width:0;color:var(--ink);background:0 0;border:0;padding:0 18px}.search input::placeholder{color:#8b918d}.search input:focus{outline:none}.search button{background:var(--green);min-width:96px;height:46px;color:var(--white);cursor:pointer;border:0;font-size:13px;font-weight:750}.manual-form{background:#ece5d9;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-top:12px;padding:18px;display:grid}.manual-form label,.record-dialog label{color:var(--ink-soft);gap:8px;font-size:12px;font-weight:750;display:grid}.manual-form input,.record-dialog input,.record-dialog select,.record-dialog textarea{border:1px solid var(--line);background:var(--white);width:100%;color:var(--ink);border-radius:0;padding:12px 13px}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:36px;display:grid}.book-card{flex-direction:column;min-width:0;display:flex}.book-cover{--cover-color:var(--green);aspect-ratio:2/3;background:var(--cover-color);color:var(--white);isolation:isolate;flex-direction:column;justify-content:flex-end;padding:26px 21px;display:flex;position:relative;overflow:hidden;box-shadow:10px 13px #29342e14}.book-cover:before{content:"";background:#ffffff38;width:1px;position:absolute;inset:0 auto 0 9px}.book-cover:after{content:"";aspect-ratio:1;z-index:-1;border:1px solid #ffffff2e;border-radius:50%;width:90%;position:absolute;top:-13%;right:-35%}.book-cover strong{max-width:90%;font:600 clamp(19px, 1.7vw, 28px)/1.25 var(--serif);letter-spacing:-.04em;word-break:keep-all}.book-cover small{color:#ffffffb3;margin-top:12px;font-size:11px}.book-cover__dot{background:#d88798;border-radius:50%;width:11px;height:11px;position:absolute;top:23px;right:20px}.book-cover--compact{aspect-ratio:2/2.9;width:94px;min-width:94px;padding:14px 12px;box-shadow:5px 7px #29342e14}.book-cover--compact strong{font-size:15px}.book-cover--compact small{margin-top:7px;font-size:9px}.book-cover--compact .book-cover__dot{width:7px;height:7px;top:12px;right:11px}.book-card__meta{padding:20px 2px 15px}.book-card h4,.log-card h4{font:650 20px/1.3 var(--serif);letter-spacing:-.03em;margin:0}.book-card__meta p{color:#747c77;margin:7px 0 0;font-size:12px}.book-card>button{border:0;border-top:1px solid var(--line);color:var(--green);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;margin-top:auto;padding:12px 2px;font-size:12px;font-weight:750;display:flex}.stats{border:1px solid var(--line);background:var(--white);grid-template-columns:repeat(4,1fr);margin-bottom:36px;display:grid}.stats>div{border-right:1px solid var(--line);min-height:120px;padding:20px}.stats>div:last-child{border-right:0}.stats span{color:#777f7b;margin-bottom:13px;font-size:11px;display:block}.stats strong{font:500 38px var(--serif)}.stats small{color:var(--wine);margin-left:4px}.log-list{gap:14px;display:grid}.log-card{border:1px solid var(--line);background:var(--white);gap:24px;padding:22px;display:flex}.log-card__body{flex:1;min-width:0;padding:4px 0}.status{color:var(--wine);letter-spacing:.08em;font-size:10px;font-weight:800}.log-card h4{margin-top:9px}.log-card p{color:var(--ink-soft);font:400 14px/1.65 var(--serif);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:12px 0 10px;display:-webkit-box;overflow:hidden}.empty-state{border:1px solid var(--line);background:var(--white);text-align:center;place-items:center;min-height:390px;padding:54px 24px;display:grid}.empty-state__dot{background:var(--wine);border-radius:50%;width:36px;height:36px;margin-bottom:24px}.empty-state h4{font:600 28px var(--serif);margin:0}.empty-state p{color:var(--ink-soft);font:400 15px var(--serif);margin:14px 0 28px}.reflection-view{max-width:760px}.reflection-card{background:var(--green-dark);min-height:390px;color:var(--white);padding:clamp(36px,6vw,68px);position:relative;overflow:hidden}.reflection-card:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:310px;height:310px;position:absolute;bottom:-110px;right:-110px}.reflection-card__mark{color:#cc6b81;font:800 74px/1 var(--serif);position:absolute;top:10px;right:34px}.reflection-card__label{color:#d8bd99;letter-spacing:.12em;font-size:10px;font-weight:800}.reflection-card h4{max-width:600px;font:500 clamp(32px, 4.5vw, 51px)/1.2 var(--serif);letter-spacing:-.055em;margin:25px 0 24px}.reflection-card>p{color:#ffffffb8;max-width:590px;font:400 16px/1.85 var(--serif)}.reflection-card blockquote{color:#f1e8dc;font:500 18px/1.7 var(--serif);border-left:2px solid #c35c74;margin:35px 0 0;padding:18px 0 18px 23px}.consent{color:#636d67;cursor:pointer;align-items:flex-start;gap:11px;margin:20px 0;font-size:12px;line-height:1.65;display:flex}.consent input{width:17px;height:17px;accent-color:var(--green);flex:none;margin-top:1px}.reflection-actions{flex-wrap:wrap;gap:10px;display:flex}.ai-note{color:#7a827e;margin:17px 0 0;font-size:11px;line-height:1.6}.closing{background:var(--green-dark);min-height:520px;color:var(--white);grid-template-columns:1fr .75fr auto;align-items:center;gap:50px;padding:90px clamp(24px,8vw,130px);display:grid}.closing .section-kicker{color:#d2b48e}.closing h2{margin-bottom:0}.closing>p{color:#ffffffab;font:400 17px/1.85 var(--serif)}footer{background:var(--paper);grid-template-columns:1fr auto 1fr;align-items:center;min-height:170px;padding:36px clamp(24px,6vw,90px);display:grid}footer p{color:var(--ink-soft);font:400 13px var(--serif);text-align:center}footer small{color:#818883;justify-self:end;font-size:10px}.record-dialog{z-index:50;background:#121d18b3;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:24px;position:fixed;inset:0;overflow-y:auto}.record-dialog>form{background:var(--paper);width:min(610px,100%);margin:4vh auto;padding:clamp(28px,5vw,48px);position:relative;box-shadow:0 30px 90px #00000040}.dialog-close{cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:20px;right:20px}.dialog-book{align-items:center;gap:22px;margin-bottom:30px;padding-right:44px;display:flex}.dialog-book>div>span{color:var(--wine);letter-spacing:.17em;font-size:9px;font-weight:850}.dialog-book h3{font:600 28px var(--serif);margin:8px 0 5px}.dialog-book p{color:#707873;margin:0;font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.record-dialog form>label{margin:17px 0}.record-dialog label>span{color:var(--wine);justify-self:end}.record-dialog textarea{resize:vertical;min-height:88px;line-height:1.55}.record-dialog input[type=range]{accent-color:var(--wine);padding:0}.notice{z-index:60;max-width:calc(100% - 32px);color:var(--white);white-space:nowrap;pointer-events:none;background:#18241f;align-items:center;gap:9px;padding:12px 17px;font-size:12px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #0003}.notice>span{background:#d57489;border-radius:50%;width:7px;height:7px}.notice--loading>span{animation:1s infinite alternate pulse}@keyframes pulse{to{opacity:.25;transform:scale(.7)}}@media (max-width:980px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{min-height:650px}.hero__copy{width:86%;margin-left:7vw}.workspace{grid-template-columns:1fr}.workspace__intro{position:static}.workspace__intro p{max-width:600px}.closing{grid-template-columns:1fr 1fr}.closing .button{grid-column:1/-1;justify-self:start}}@media (max-width:680px){.site-header{height:70px;padding:0 18px}.header-cta{padding:10px 13px}.brand{font-size:21px}.brand img{width:34px;height:34px}.hero{align-items:end;min-height:670px}.hero__image{object-position:63% center}.hero__veil{background:#0b1b1591}.hero__copy{width:auto;margin:0;padding:90px 24px 150px}.hero h1{font-size:clamp(49px,15vw,72px)}.hero__copy>p{font-size:16px}.hero__note{padding:16px 19px;bottom:28px;left:24px;right:auto}.principles{grid-template-columns:1fr;padding:16px 24px}.principles p{border-right:0;border-bottom:1px solid var(--line);padding:12px}.principles p:last-child{border-bottom:0}.workspace{padding:78px 18px}.workspace__intro h2{font-size:43px}.tabs button{padding:0 6px;font-size:12px}.tabs button svg{display:none}.view-heading{flex-direction:column;align-items:start}.search{grid-template-columns:1fr}.search input{height:52px}.search button{width:100%}.manual-form{grid-template-columns:1fr}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 15px}.book-cover{padding:18px 14px;box-shadow:6px 8px #29342e14}.book-cover strong{font-size:18px}.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.log-card{gap:17px;padding:17px}.book-cover--compact{width:76px;min-width:76px}.reflection-card{padding:38px 26px}.closing{grid-template-columns:1fr;gap:24px;padding:80px 24px}.closing h2{font-size:43px}.closing .button{grid-column:auto}footer{grid-template-columns:1fr;justify-items:start;gap:18px}footer p{text-align:left}footer small{justify-self:start}.record-dialog{padding:0}.record-dialog>form{min-height:100%;margin:0;padding:30px 20px}.form-grid{grid-template-columns:1fr;gap:0}.notice{white-space:normal;text-align:center;justify-content:center;width:calc(100% - 28px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
