:root{font-family:"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color-scheme:light;--paper:#f8f6f0;--surface:#fffefa;--ink:#193e32;--secondary:#52645b;--accent:#a44b36;--soft:#e9eee5;--peach:#f1ddd1;--line:#d6dcd1;--danger:#9d302b}*{box-sizing:border-box}body{margin:0;background:#e7e9e2;color:var(--ink);font-size:16px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button,input,select{min-height:46px}a{color:inherit}p,h1,h2,h3{margin:0}h1,h2,h3{line-height:1.4;letter-spacing:-.045em}h1{font-size:1.9rem}h2{font-size:1.18rem}h3{font-size:1.05rem}input,select,textarea{color:var(--ink);background:var(--surface);border:1px solid #aebcad;border-radius:12px;padding:11px 12px;width:100%;max-width:100%}textarea{resize:vertical;min-height:112px}input[type=checkbox],input[type=radio]{width:21px;height:21px;min-height:0;accent-color:var(--ink);flex:none;margin:3px 0 0}fieldset{min-width:0;border:0;padding:0;margin:0}legend{font-weight:700;margin-bottom:10px;padding:0}.app{max-width:500px;min-height:100svh;margin:auto;background:var(--paper)}.site-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px 19px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand svg{width:37px;height:37px}.brand strong{display:block;font-size:1.6rem;font-weight:850;letter-spacing:-.07em;line-height:1.2}.brand small{display:block;font-size:.68rem;color:var(--secondary);margin-top:4px}.header-heart{background:var(--soft);padding:7px 12px;border-radius:30px;font-size:.8rem;font-weight:700}main{padding:28px 24px 34px;min-height:65svh;overflow-wrap:anywhere}.eyebrow{font-size:.7rem;font-weight:750;letter-spacing:.15em;color:var(--accent);margin-bottom:15px}.hero{padding:6px 0 24px}.hero h1{font-size:2.3rem;line-height:1.35;letter-spacing:-.065em}.hero p{color:var(--secondary);margin-top:22px;font-size:.93rem;word-break:keep-all}.screen-copy{color:var(--secondary);font-size:.88rem;margin:10px 0 23px}.panel{background:var(--surface);padding:21px;border:1px solid var(--line);border-radius:23px;margin:16px 0}.panel h2{margin-bottom:16px}.soft-panel{background:var(--soft);border-radius:18px;padding:18px;font-size:.85rem;line-height:1.8;margin:18px 0}.soft-panel strong{display:block;margin-bottom:4px}.field{display:block;margin:0 0 18px}.field>span{display:block;font-size:.87rem;font-weight:700;margin-bottom:7px}.field small,.hint{display:block;color:var(--secondary);font-size:.75rem;font-weight:400;line-height:1.7;margin-top:6px}.field:last-child{margin-bottom:0}.check{display:flex;gap:11px;align-items:flex-start;padding:13px 0;font-size:.87rem;line-height:1.7;cursor:pointer}.check+.check{border-top:1px solid var(--line)}.check small{display:block;font-size:.72rem;color:var(--secondary);margin-bottom:3px}.check strong{font-weight:650}.button{min-height:52px;padding:12px 18px;border-radius:15px;display:flex;justify-content:center;align-items:center;gap:7px;text-align:center;font-size:.92rem;font-weight:700;line-height:1.5;word-break:keep-all;text-decoration:none;width:100%}.primary{background:var(--ink);color:var(--surface)}.secondary{background:var(--surface);border:1px solid var(--line)}.danger{background:var(--danger);color:white}.text-button{background:transparent;min-height:44px;padding:8px 3px;color:var(--accent);font-size:.82rem;font-weight:650;text-decoration:underline;text-underline-offset:4px}.button+.button{margin-top:10px}.actions{display:flex;gap:10px;margin-top:24px}.actions .button+.button{margin:0}.actions .secondary{flex:.7}.actions .primary{flex:1}.form-error{color:var(--danger);font-size:.85rem;line-height:1.7;margin:12px 0}.form-error:empty{display:none}.progress{display:flex;gap:7px;list-style:none;padding:0;margin:0 0 25px}.progress li{flex:1;border-top:3px solid var(--line);padding-top:8px;font-size:.69rem;color:var(--secondary)}.progress li[aria-current=step]{border-color:var(--ink);color:var(--ink);font-weight:750}.step-label{font-size:.76rem;font-weight:700;color:var(--accent);margin-bottom:7px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:13px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line);border-radius:20px;padding:8px 12px;min-height:40px;font-size:.76rem;background:var(--surface);display:inline-flex;align-items:center;gap:7px;cursor:pointer}.chip:has(input:checked){border-color:var(--ink);background:var(--soft)}.chip input{width:16px;height:16px;margin:0}.tag{display:inline-block;padding:5px 10px;border-radius:20px;background:var(--soft);font-size:.74rem;margin:4px 4px 0 0}.section-label{font-size:.88rem;margin:22px 0 10px}.severity-row{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:9px}.severity-row>strong{display:block;font-size:.84rem;margin-bottom:8px}.severity-row label{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;margin:3px 12px 3px 0}.severity-row input{width:17px;height:17px;margin:0}.detail-list{display:grid;grid-template-columns:90px 1fr;gap:10px 13px;font-size:.85rem;margin:15px 0}.detail-list dt{color:var(--secondary)}.detail-list dd{margin:0;white-space:pre-wrap}.profile-hero{display:flex;gap:14px;align-items:center;margin-bottom:19px}.avatar{height:62px;width:62px;border-radius:23px;background:var(--peach);display:grid;place-items:center;font-size:1.4rem;font-weight:700;flex:none}.profile-hero p{color:var(--secondary);font-size:.8rem;margin-top:5px}.profile-bio{font-size:.9rem;white-space:pre-wrap;margin-top:15px}.status-badge{display:inline-block;border-radius:20px;background:var(--soft);padding:5px 10px;font-size:.72rem;font-weight:700}.status-badge.suspended,.status-badge.rejected{background:#f8e7e0;color:var(--danger)}.status-banner{border:1px solid var(--line);padding:20px;border-radius:21px;background:var(--surface);margin:19px 0}.status-banner p{margin-top:9px;font-size:.87rem;color:var(--secondary)}.auto-status{font-size:.72rem;color:var(--secondary);margin-top:12px}.empty{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:23px;padding:35px 22px;margin:20px 0}.empty-symbol{height:65px;width:65px;border-radius:50%;background:var(--soft);font-size:1.7rem;display:grid;place-items:center;margin:0 auto 18px}.empty p{color:var(--secondary);font-size:.86rem;margin-top:12px}.bottom-nav{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 7px calc(8px + env(safe-area-inset-bottom));gap:3px;border-top:1px solid var(--line);background:var(--surface)}.bottom-nav[hidden]{display:none}.nav-button{border-radius:13px;background:transparent;min-height:59px;padding:7px 3px;color:var(--secondary);font-size:.68rem}.nav-button span{display:block;font-size:1.12rem;line-height:1.4;margin-bottom:3px}.nav-button[aria-current=page]{background:var(--soft);color:var(--ink);font-weight:750}.wallet{border-radius:24px;background:var(--ink);color:var(--surface);padding:26px 23px;margin:24px 0}.wallet p{font-size:.82rem;opacity:.9}.wallet strong{display:block;font-size:2.7rem;line-height:1.35;margin:5px 0}.ledger{list-style:none;padding:0;margin:0}.ledger li{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:.86rem}.ledger small{display:block;color:var(--secondary);font-size:.7rem;margin-top:3px}.ledger b{white-space:nowrap}.ledger b.minus{color:var(--accent)}.policy-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:10px;padding:10px 0;font-size:.85rem}.policy-row .text-button{white-space:nowrap}.policy-document{font-size:.86rem;line-height:1.9;white-space:pre-wrap;max-height:52svh;overflow:auto;border:1px solid var(--line);border-radius:15px;padding:17px;margin-bottom:15px}.policy-document p+p{margin-top:13px}.policy-read-status{font-size:.73rem;color:var(--secondary);margin-top:9px}.recovery-code{font-family:ui-monospace,Consolas,monospace;font-size:1.05rem;font-weight:750;letter-spacing:.04em;word-break:break-all;border:1px dashed var(--accent);padding:18px;border-radius:15px;background:var(--paper);margin:20px 0;user-select:all}.site-footer{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 15px 22px;color:var(--secondary);font-size:.7rem}.site-footer button{background:none;font-size:inherit;min-height:40px;padding:5px}.skip{position:fixed;top:-100px;left:15px;z-index:50;background:var(--ink);color:white;padding:13px}.skip:focus{top:15px}.loading{padding:60px 10px;text-align:center;color:var(--secondary);font-size:.9rem}.noscript{padding:30px;text-align:center}dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:23px;width:calc(100% - 30px);max-width:474px;padding:0;max-height:90svh;overflow:auto}dialog::backdrop{background:#14291a85}.dialog-heading{position:sticky;top:0;background:var(--surface);z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 20px 10px}.dialog-heading h2{font-size:1.1rem}.icon-button{font-size:1.7rem;background:transparent;border-radius:50%;width:44px;flex:none}#dialog-body{padding:5px 22px 24px}.toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);border-radius:16px;padding:14px 18px;max-width:440px;width:calc(100% - 40px);z-index:30;box-shadow:0 5px 25px #14291a25;font-size:.82rem;line-height:1.7;pointer-events:none}.toast:empty{display:none}.discreet{font-size:.73rem;line-height:1.8;color:var(--secondary);margin-top:16px}.person-card{border:1px solid var(--line);border-radius:23px;background:var(--surface);padding:21px;margin:15px 0}.person-card .button{margin-top:19px}.request-time{font-size:.73rem;color:var(--secondary);margin:7px 0 14px}.check-note{font-size:.75rem;color:var(--secondary);line-height:1.8}.warning-box{border:1px solid #d4a394;border-radius:16px;padding:16px;background:#fff2eb;font-size:.84rem;line-height:1.8;margin:17px 0}.danger-zone{border-top:1px solid var(--line);margin-top:27px;padding-top:20px}.full{width:100%}[hidden]{display:none!important}@media(min-width:600px){.app{margin:24px auto;border:1px solid #cdd4c6;border-radius:29px;overflow:clip;box-shadow:0 20px 80px #25382714;min-height:850px}main{min-height:610px}}@media(max-width:360px){main{padding-left:18px;padding-right:18px}.site-header{padding-left:18px;padding-right:18px}.hero h1{font-size:2rem}.panel{padding:17px}.two-col{grid-template-columns:1fr}.actions{flex-wrap:wrap}.actions .button{flex:1 1 100%}.detail-list{grid-template-columns:75px 1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.entry-notice{margin:18px 24px 0;padding:17px 18px;border:2px solid #b96e50;border-radius:16px;background:#fff0e5;font-size:.86rem;line-height:1.85}.entry-notice strong{display:block;font-size:.96rem;margin-bottom:5px;color:#823a22}.entry-notice p{color:#673b2e;font-weight:650}@media(max-width:360px){.entry-notice{margin-left:18px;margin-right:18px}}

.photo-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.photo-editor-heading h2{margin-bottom:10px}.photo-editor-heading h2 span{font-size:.74rem;color:var(--secondary);font-weight:500;white-space:nowrap}.photo-editor-heading>span{font-size:.74rem;white-space:nowrap;padding-top:3px}.photo-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;list-style:none;padding:0;margin:18px 0}.photo-editor-grid:empty{display:none}.photo-draft-image{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:var(--soft)}.photo-draft-image>img{width:100%;height:100%;object-fit:cover;display:block}.photo-order{position:absolute;left:5px;top:5px;padding:2px 6px;border-radius:20px;background:#193e32e8;color:var(--surface);font-size:.59rem}.photo-controls{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:6px}.photo-controls button{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:36px;padding:4px 1px;font-size:.63rem;line-height:1.4}.photo-add{position:relative;display:flex;justify-content:center;align-items:center;min-height:48px;margin-top:15px;background:var(--soft);border:1px dashed #82947d;border-radius:13px;font-size:.85rem;font-weight:700;cursor:pointer}.photo-add:focus-within{outline:3px solid var(--accent);outline-offset:3px}.photo-add.is-disabled{opacity:.55;cursor:default}.photo-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;min-height:0;padding:0;border:0}.photo-input:disabled{cursor:default}.photo-progress{font-size:.77rem;color:var(--secondary);margin-top:10px}.photo-progress:empty,.photo-error:empty{display:none}.photo-error{color:var(--danger);font-size:.83rem;line-height:1.7;margin-top:12px}.profile-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px}.profile-gallery figure{margin:0;min-width:0}.photo-open{display:block;aspect-ratio:3/4;width:100%;padding:0;background:var(--soft);border-radius:13px;overflow:hidden;min-height:0}.photo-open img{width:100%;height:100%;display:block;object-fit:cover}.profile-gallery figcaption{font-size:.63rem;color:var(--secondary);margin-top:4px;text-align:center}.photo-placeholder{display:flex;align-items:center;justify-content:center;min-height:100%;height:100%;width:100%;text-align:center;background:var(--soft);color:var(--secondary);font-size:.65rem;padding:8px}.photo-full{display:block;width:100%;max-height:72svh;object-fit:contain;border-radius:12px}.profile-gallery>.photo-placeholder{aspect-ratio:3/4}
.profile-gallery figure>.photo-placeholder{aspect-ratio:3/4;min-height:0;border-radius:13px}

.contact-optional{font-size:.75rem;color:var(--secondary);font-weight:500}.contact-note{font-size:.76rem;line-height:1.8;color:var(--secondary);margin:12px 0}.contact-revealed{border:1px solid #bccdb9;border-radius:16px;background:var(--soft);padding:16px 17px;margin-top:17px}.contact-revealed>small{display:block;font-size:.73rem;color:var(--secondary)}.contact-revealed>a{display:block;width:fit-content;max-width:100%;font-size:1.2rem;font-weight:750;margin:6px 0;letter-spacing:.025em;overflow-wrap:anywhere;text-underline-offset:4px}.contact-revealed .text-button{font-size:.73rem}.contact-slot .button{margin-top:15px}.contact-slot:empty{display:none}.person-card>.contact-note+.button{margin-top:12px}
