body{min-width:320px;margin:0}button,input{font-family:inherit}: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{background:var(--paper);min-width:320px;margin:0}button,input,select{font-family:inherit}button{cursor:pointer}.login-page,.choice-page,.give-page,.app-shell{background:var(--paper);min-height:100vh;color:var(--ink)}.login-page{place-items:center;padding:30px 20px;display:grid;position:relative}.login-brand,.choice-brand{font:800 22px var(--display);letter-spacing:-.7px;align-items:center;gap:9px;display:flex;position:absolute;top:28px;left:38px}.brand-mark{background:var(--green);color:#fff;border-radius:10px;place-items:center;width:33px;height:33px;display:grid;transform:rotate(-5deg)}.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:12px;margin-top:28px;display:grid}.login-card label{gap:8px;font-size:12px;font-weight:800;display:grid}.login-card input{height:47px;color:var(--ink);font:14px var(--body);background:#fff;border:1px solid #dfd8cc;border-radius:5px;outline:none;padding:0 13px}.login-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px #4c794f1a}.auth-error{color:#a94f3a;background:#fbe7e1;border-radius:6px;padding:10px 12px;font-size:11px;font-weight:700}.login-card form button,.submit-book,.confirm-button,.outline-button,.filter-button{background:var(--green);color:#fff;height:47px;font:800 13px var(--body);border:0;border-radius:5px}.login-card form button span,.submit-book span{margin-left:8px;font-size:18px}.auth-toggle{width:100%;color:var(--green);font:700 12px var(--body);background:0 0;border:0;margin-top:16px}.login-card small{color:#a0a99f;margin-top:22px;font-size:10px;line-height:1.6;display:block}.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;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}.give-page{padding:34px 5vw}.back-button{color:var(--muted);font:700 13px var(--body);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:none;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{margin-top:5px}.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);border-radius:5px;flex:1}.cancel-button{border:1px solid var(--line);color:var(--muted);background:#fff}.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,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-button{background:0 0;border:0;padding:0}.main-nav{align-items:center;gap:34px;height:100%;margin-left:80px;display:flex}.main-nav button{color:var(--muted);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}.header-actions{align-items:center;gap:20px;display:flex}.icon-button,.profile-button{color:var(--ink);background:0 0;border:0}.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);background:0 0;border-radius:6px;justify-content:center;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:none;flex:1}.filter-button{border-color:var(--line);height:48px;color:var(--ink);background:#fff;padding:0 18px}.category-row{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:23px 0 24px;display:flex}.category-row button{color:var(--muted);font:700 13px var(--body);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%}.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}.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}.reserve-button,.delete-button{font:700 11px var(--body);background:0 0;border:0;margin-left:auto}.reserve-button{color:var(--coral)}.reserve-button.reserved{color:var(--muted);cursor:default}.delete-button{color:var(--coral)}.reservation-confirmed{color:var(--green);margin-left:auto;font-size:10px;font-weight:800}.reservation-alert{z-index:30;border:2px solid var(--coral);width:min(340px,100% - 28px);color:var(--ink);background:#fff8f3;border-radius:12px;padding:16px 18px;position:fixed;bottom:24px;right:22px;box-shadow:0 14px 30px #24352a29}.confirmed-alert{animation:5s forwards confirmed-alert-fade}@keyframes confirmed-alert-fade{0%,72%{opacity:1}to{opacity:0;visibility:hidden;pointer-events:none}}.reservation-alert strong{color:var(--coral);font:800 20px var(--display);margin-bottom:7px;display:block}.reservation-alert p{margin:0;font-size:12px;font-weight:700;line-height:1.6}.reservation-alert p+p{border-top:1px solid #f1d7cc;margin-top:8px;padding-top:8px}.alert-confirm-button{background:var(--coral);color:#fff;font:800 11px var(--body);border:0;border-radius:6px;margin-top:9px;padding:7px 11px;display:block}.card-confirm-button{margin-left:auto;padding:5px 8px;font-size:10px}.empty-state{text-align:center;color:var(--muted);place-items:center;padding:90px 20px 30px;display:grid}.empty-state h3{font:800 24px var(--display);color:var(--ink);margin:12px 0 8px}.empty-state p{margin:0}.photo-selected{color:var(--green);margin-top:-8px;font-size:11px}.modal-photo{color:var(--green);margin-top:8px;font-size:11px;display:block}.admin-page{background:var(--paper);min-height:100vh;color:var(--ink)}.admin-shell{width:min(1100px,100% - 32px);margin:0 auto;padding:32px 0 60px}.admin-summary{grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.summary-card{border:1px solid var(--line);background:#fffaf3;border-radius:12px;gap:8px;padding:20px 22px;display:grid}.summary-card span{color:var(--muted);font-size:12px;font-weight:700}.summary-card strong{font:800 28px var(--display)}.admin-panel{border:1px solid var(--line);background:#fffaf3;border-radius:12px;padding:24px;box-shadow:0 12px 30px #5b432a0a}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.panel-header h2{font:800 30px var(--display);margin:0}.admin-list{gap:16px;display:grid}.admin-item{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:18px 18px 14px;display:flex}.admin-item-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.admin-item-header strong{font:800 18px var(--display)}.admin-item-header span{color:var(--coral);letter-spacing:.7px;text-transform:uppercase;font-size:10px;font-weight:800}.admin-item p{color:var(--muted);margin:4px 0;font-size:12px}.admin-schedule{color:var(--green);background:#edf4ed;border-radius:8px;margin-top:10px;padding:7px 10px;font-size:11px;font-weight:700;display:inline-block}.admin-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-empty{padding:70px 20px 10px}.schedule-modal{width:min(430px,100%)}.schedule-summary{color:var(--green);text-align:left;background:#edf4ed;border-radius:8px;gap:8px;margin-top:22px;padding:14px;display:grid}.schedule-summary strong{font:800 15px var(--display)}.schedule-summary p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.5}.schedule-form{text-align:left;gap:14px;margin-top:22px;display:grid}.schedule-form label{color:var(--ink);gap:8px;font-size:12px;font-weight:800;display:grid}.schedule-form input,.schedule-form textarea{width:100%;color:var(--ink);font:13px var(--body);resize:vertical;background:#fff;border:1px solid #e1ddd3;border-radius:6px;padding:10px 12px}.schedule-form input:focus,.schedule-form textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #4c794f14}.schedule-pill{color:var(--green);background:#edf4ed;border-radius:8px;margin-top:10px;padding:7px 9px;font-size:11px;font-weight:700}.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}@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<=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}}@media (width<=620px){.topbar{height:64px}.topbar-inner{padding:0 16px}.main-nav,.profile-name{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}}
