:root{--paper:#eee4d4;--cream:#eee4d4;--ink:#24352a;--muted:#778078;--line:#ddd1bf;--green:#4c794f;--green-pale:#e1eadb;--coral:#dc745d;--body:"DM Sans", "Noto Sans KR", sans-serif;--display:"Fraunces", "Noto Serif KR", serif;font-family:var(--body);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input{font-family:inherit}.app-shell,.choice-page,.give-page{background:var(--paper);min-height:100vh;color:var(--ink)}.login-page{background:var(--paper);min-height:100vh;color:var(--ink);place-items:center;padding:30px 20px;display:grid;position:relative}.login-brand{font:800 22px var(--display);letter-spacing:-.7px;align-items:center;gap:9px;display:flex;position:absolute;top:28px;left:38px}.login-card{background:#fffaf3;border:1px solid #dfd2c0;border-radius:10px;width:min(410px,100%);padding:42px 40px 35px;box-shadow:0 16px 35px #5b432a14}.login-card h1{font:800 43px/1.15 var(--display);letter-spacing:-2px;margin:0 0 17px}.login-card h1 em{color:var(--coral);font-style:normal}.login-card p{color:var(--muted);font-size:13px;line-height:1.7}.login-card form{gap:8px;margin-top:28px;display:grid}.login-card label{font-size:12px;font-weight:800}.login-card input{height:47px;color:var(--ink);font:14px var(--body);background:#fff;border:1px solid #dfd8cc;border-radius:5px;outline:0;padding:0 13px}.login-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px #4c794f1a}.login-card form button{background:var(--green);color:#fff;height:47px;font:800 13px var(--body);cursor:pointer;border:0;border-radius:5px;margin-top:7px}.login-card form button:disabled{cursor:not-allowed;background:#c2cabe}.login-card form button span{margin-left:8px;font-size:18px}.login-card small{color:#a0a99f;margin-top:22px;font-size:10px;line-height:1.6;display:block}.choice-brand{font:800 22px var(--display);letter-spacing:-.7px;align-items:center;gap:9px;display:flex;position:absolute;top:28px;left:38px}.choice-content{justify-content:space-between;align-items:center;gap:70px;width:min(940px,100% - 44px);min-height:calc(100vh - 84px);margin:0 auto;padding-top:50px;display:flex}.choice-intro{min-width:340px}.choice-label{color:var(--coral);letter-spacing:1.6px;margin-bottom:18px;font-size:11px;font-weight:800;display:block}.choice-intro h1,.give-heading h1{font:800 57px/1.12 var(--display);letter-spacing:-3px;margin:0 0 18px}.choice-intro h1 em,.give-heading h1 em{color:var(--coral);font-style:normal}.choice-intro p,.give-heading p{color:var(--muted);font-size:15px;line-height:1.75}.choice-actions{gap:16px;width:430px;display:grid}.choice-card{text-align:left;cursor:pointer;min-height:142px;color:var(--ink);border:1px solid #0000;border-radius:10px;align-items:center;padding:25px 26px;transition:transform .2s,box-shadow .2s;display:flex}.choice-card:hover{transform:translate(6px);box-shadow:0 13px 25px #4a39271c}.give-card{background:#f2c7b4}.receive-card{background:#dce7d5}.choice-icon{width:55px;height:55px;color:var(--green);background:#fff9;border-radius:50%;place-items:center;margin-right:17px;display:grid}.choice-card-copy{flex-direction:column;gap:6px;display:flex}.choice-card-copy strong{font:800 21px var(--display)}.choice-card-copy small{color:#24352aad;font-size:12px}.choice-arrow{color:#24352a8c;margin-left:auto;font-size:26px}.choice-footer{text-align:center;color:#a0a99f;width:100%;font-size:11px;position:fixed;bottom:28px}.give-page{padding:34px 5vw}.back-button{color:var(--muted);font:700 13px var(--body);cursor:pointer;background:0 0;border:0}.give-content{grid-template-columns:.8fr 1.2fr;align-items:start;gap:80px;width:min(850px,100%);margin:75px auto;display:grid}.give-heading h1{font-size:48px}.book-form{background:#fffaf3;border:1px solid #eadfce;border-radius:10px;gap:17px;padding:27px;display:grid;box-shadow:0 12px 30px #5b432a0d}.book-form label{color:var(--ink);gap:8px;font-size:12px;font-weight:800;display:grid}.book-form input,.book-form select{width:100%;height:44px;color:var(--ink);background:#fff;border:1px solid #e1ddd3;border-radius:5px;outline:0;padding:0 12px;font-size:13px}.book-form input:focus,.book-form select:focus{border-color:var(--green)}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.submit-book{background:var(--green);color:#fff;height:48px;font:800 13px var(--body);cursor:pointer;border:0;border-radius:5px;margin-top:5px}.submit-book span{margin-left:8px;font-size:18px}.new-book-note{background:var(--green-pale);color:var(--green);border-radius:6px;align-items:center;gap:8px;padding:13px 14px;font-size:11px;display:flex}.new-book-note strong{font-weight:800}.modal-backdrop{z-index:30;background:#24352a4d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-modal{text-align:center;background:#fffaf3;border-radius:10px;width:min(390px,100%);padding:30px;box-shadow:0 18px 50px #24352a33}.modal-label{color:var(--coral);letter-spacing:1.4px;font-size:10px;font-weight:800}.confirm-modal h2{font:800 24px var(--display);margin:12px 0 10px}.confirm-modal p{color:var(--muted);margin:0;font-size:14px}.confirm-actions{gap:9px;margin-top:25px;display:flex}.confirm-actions button{height:44px;font:800 12px var(--body);cursor:pointer;border-radius:5px;flex:1}.cancel-button{border:1px solid var(--line);color:var(--muted);background:#fff}.confirm-button{background:var(--green);color:#fff;border:0}.topbar{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8e6;height:76px;position:sticky;top:0}.topbar-inner,.hero-inner,.market-section,.trust-banner,footer{max-width:1180px;margin:0 auto}.topbar-inner{justify-content:space-between;align-items:center;height:100%;padding:0 28px;display:flex}.brand{color:var(--ink);font:800 22px var(--display);letter-spacing:-.7px;align-items:center;gap:9px;text-decoration:none;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:10px;place-items:center;width:33px;height:33px;display:grid;transform:rotate(-5deg)}.main-nav{align-items:center;gap:34px;height:100%;margin-left:80px;display:flex}.main-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;height:100%;font-size:14px;font-weight:700;display:grid;position:relative}.main-nav button.active{color:var(--ink)}.main-nav button.active:after{content:"";background:var(--green);border-radius:3px 3px 0 0;width:22px;height:3px;position:absolute;bottom:0}.brand-button{cursor:pointer;background:0 0;border:0;padding:0}.header-actions{align-items:center;gap:20px;display:flex}.icon-button,.profile-button{color:var(--ink);cursor:pointer;background:0 0;border:0}.notification{place-items:center;padding:7px;display:grid;position:relative}.notification span{background:var(--coral);border:2px solid var(--paper);border-radius:50%;width:5px;height:5px;position:absolute;top:5px;right:5px}.profile-button{font:700 13px var(--body);align-items:center;gap:8px;display:flex}.avatar,.mini-avatar{color:#70422c;background:#f4c9a2;border-radius:50%;place-items:center;font-weight:800;display:grid}.avatar{width:30px;height:30px;font-size:12px}.hero-section{background:var(--cream);overflow:hidden}.hero-inner{justify-content:space-between;align-items:center;height:408px;padding:0 70px;display:flex;position:relative}.hero-copy{z-index:1;padding-bottom:16px;animation:.7s both rise;position:relative}.eyebrow,.section-kicker{color:var(--green);letter-spacing:1.4px;font-size:11px;font-weight:800}.eyebrow{align-items:center;gap:6px;margin-bottom:19px;display:flex}.hero-copy h1{font:800 52px/1.12 var(--display);letter-spacing:-3px;color:var(--ink);margin:0 0 15px}.hero-copy h1 em{color:var(--coral);font-style:normal;position:relative}.hero-copy h1 em:after{content:"";z-index:-1;background:#f7c5ad;width:100%;height:7px;position:absolute;bottom:1px;left:4px;transform:rotate(-2deg)}.hero-copy p{color:var(--muted);font-size:15px;line-height:1.7}.location-pill{color:var(--ink);background:#fff6;border:1px solid #e2d6c5;border-radius:8px;align-items:center;gap:7px;margin-top:20px;padding:9px 13px;font-size:12px;font-weight:700;display:inline-flex}.hero-visual{align-self:stretch;width:500px;height:100%;position:relative;overflow:hidden}.hero-visual img{object-fit:cover;object-position:46% center;z-index:2;mix-blend-mode:multiply;filter:saturate(.8);border-radius:180px 180px 0 0;width:340px;height:355px;position:absolute;bottom:0;right:52px}.sun-shape{background:#f9cd91;border-radius:50%;width:310px;height:310px;position:absolute;top:45px;right:68px}.book-stack{z-index:3;position:absolute;bottom:19px;left:5px;transform:rotate(-9deg)}.book-stack span{background:var(--coral);border:2px solid #ef9a7d;border-radius:4px;width:118px;height:20px;margin-top:4px;display:block}.book-stack span:nth-child(2){background:#759a72;border-color:#577b59;width:127px}.book-stack span:nth-child(3){background:#f8c87c;border-color:#e7ac59;width:111px}.hero-sticker{z-index:4;background:#fff;border-radius:5px;padding:8px 11px;font-size:12px;font-weight:800;position:absolute;box-shadow:3px 4px #1f35291f}.sticker-one{color:var(--green);top:70px;right:20px;transform:rotate(8deg)}.sticker-two{color:var(--coral);bottom:70px;right:10px;transform:rotate(-7deg)}.market-section{padding:61px 28px 53px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:26px;display:flex}.section-kicker{color:var(--coral);margin-bottom:8px;display:block}.section-heading h2{font:800 28px var(--display);letter-spacing:-1.2px;margin:0}.outline-button,.filter-button{border:1px solid var(--green);color:var(--green);font:800 12px var(--body);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:8px;padding:11px 16px;display:flex}.outline-button:hover,.filter-button:hover{background:var(--green);color:#fff}.search-row{gap:10px;display:flex}.search-box{border:1px solid var(--line);color:#98a19b;background:#fff;border-radius:6px;flex:1;align-items:center;gap:10px;height:48px;padding:0 15px;display:flex}.search-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #49714b1a}.search-box input{color:var(--ink);font:13px var(--body);background:0 0;border:0;outline:0;flex:1}.clear-search{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:21px}.filter-button{border-color:var(--line);height:48px;color:var(--ink);background:#fff;padding:0 18px}.category-row{border-bottom:1px solid var(--line);gap:8px;padding:23px 0 24px;display:flex}.category-row button{color:var(--muted);font:700 13px var(--body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:20px;padding:8px 15px}.category-row button.selected{background:var(--green);color:#fff}.listing-grid{grid-template-columns:repeat(4,1fr);gap:18px;padding-top:26px;display:grid}.listing-card{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;transition:transform .2s,box-shadow .2s;overflow:hidden}.listing-card:hover{transform:translateY(-4px);box-shadow:0 13px 25px #2a3f301a}.listing-image-wrap{background:#e9ede2;height:190px;position:relative;overflow:hidden}.listing-image-wrap img{object-fit:cover;filter:saturate(.78);width:100%;height:100%}.heart-button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:11px;right:11px}.heart-button.liked{color:var(--coral)}.condition-tag{color:#fff;background:#1c3123c2;border-radius:3px;padding:5px 7px;font-size:10px;font-weight:700;position:absolute;bottom:10px;left:11px}.listing-content{padding:14px 15px 15px}.listing-meta{color:var(--coral);gap:5px;margin-bottom:7px;font-size:10px;font-weight:800;display:flex}.listing-meta span:last-child{color:#adb5ae;font-weight:500}.listing-content h3{font:800 15px var(--display);white-space:nowrap;text-overflow:ellipsis;margin:0 0 8px;overflow:hidden}.school{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.price-line{align-items:baseline;gap:7px;margin-top:14px;display:flex}.price-line strong{letter-spacing:-.5px;font-size:18px}.price-line del{color:#b3b9b3;font-size:10px}.seller-row{color:var(--muted);border-top:1px solid #f0f1ed;align-items:center;gap:6px;margin-top:14px;padding-top:11px;font-size:10px;display:flex}.mini-avatar{width:20px;height:20px;font-size:9px}.seller-row button{color:var(--green);font:700 10px var(--body);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;margin-left:auto;display:flex}.empty-state{color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:70px 20px;display:flex}.empty-state strong{color:var(--ink)}.load-more{text-align:center;padding-top:34px}.load-more button,.trust-banner button{color:var(--green);font:800 12px var(--body);cursor:pointer;background:0 0;border:0}.load-more span,.trust-banner button span{margin-left:8px;font-size:18px}.trust-banner{background:var(--green-pale);border-radius:8px;align-items:center;gap:15px;margin-bottom:32px;padding:24px 28px;display:flex}.trust-icon{width:44px;height:44px;color:var(--green);background:#fff;border-radius:50%;place-items:center;display:grid}.trust-banner div:nth-child(2){flex-direction:column;gap:4px;display:flex}.trust-banner strong{font:800 14px var(--display)}.trust-banner span{color:var(--muted);font-size:11px}.trust-banner button{margin-left:auto}.toast{background:var(--ink);color:#fff;z-index:20;border-radius:7px;align-items:center;gap:8px;padding:12px 17px;font-size:12px;animation:.25s toast-in;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #1f352955}footer{border-top:1px solid var(--line);color:#a0a99f;justify-content:space-between;padding:22px 28px 28px;font-size:11px;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (width<=900px){.hero-inner{padding:0 35px}.hero-copy h1{font-size:43px}.hero-visual{width:400px}.listing-grid{grid-template-columns:repeat(2,1fr)}.main-nav{margin-left:0}}@media (width<=620px){.topbar{height:64px}.topbar-inner{padding:0 16px}.main-nav,.profile-name,.profile-button svg{display:none}.hero-inner{align-items:flex-start;height:500px;padding:40px 22px 0}.hero-copy h1{font-size:42px}.hero-visual{opacity:.9;width:390px;height:285px;position:absolute;bottom:0;right:-35px}.hero-visual img{width:245px;height:270px;right:70px}.sun-shape{width:240px;height:240px;top:16px;right:65px}.sticker-one{top:28px;right:0}.sticker-two{bottom:39px;right:12px}.market-section{padding:42px 16px}.section-heading h2{font-size:23px}.outline-button{padding:10px;font-size:0}.outline-button svg{margin:0}.listing-grid{grid-template-columns:1fr 1fr;gap:10px}.listing-image-wrap{height:145px}.listing-content{padding:12px 11px}.listing-content h3{font-size:13px}.price-line strong{font-size:16px}.seller-row button{font-size:0}.seller-row button svg{width:17px;height:17px}.trust-banner{align-items:flex-start;margin:0 16px 25px;padding:18px}.trust-banner button{display:none}footer{padding:20px 16px}}@media (width<=700px){.choice-brand{top:22px;left:22px}.choice-content{padding-top:145px;display:block}.choice-intro{min-width:0}.choice-intro h1{font-size:48px}.choice-actions{width:100%;margin-top:48px}.choice-card{min-height:125px}.give-page{padding:25px 22px}.give-content{margin-top:62px;display:block}.give-heading h1{font-size:43px}.book-form{margin-top:38px;padding:20px}}.photo-selected{color:var(--green);margin-top:-8px;font-size:11px}.modal-photo{color:var(--green);margin-top:8px;font-size:11px;display:block}.reserve-button{color:var(--coral)!important;margin-left:0!important}.reserve-button.reserved{cursor:default;color:var(--muted)!important}.delete-button{color:var(--coral)!important}
