:root{--ink:#344c41;--muted:#788176;--paper:#f8f8f1;--panel:#fffef8;--line:#dde2d4;--sage:#42634f;--soft:#edf0e4;--accent:#e5c77c;--shadow:0 16px 60px #243a251a;color-scheme:light;font-family:"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.6;letter-spacing:-.025em}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{background:none;border:0}button:disabled{opacity:.5;cursor:default}button,input,select,textarea,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ae8f43;outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.wrap{max-width:1360px;padding-left:52px;padding-right:52px;margin:0 auto}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:10px;z-index:100}.skip:focus{top:10px}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:750;letter-spacing:-.06em}.brand-mark{font-size:44px;color:#738e65;line-height:1}.brand small{font-size:8px;letter-spacing:.19em;display:block;color:#818b76;margin-top:-3px;font-weight:600}.site-header nav{display:flex;align-items:center;gap:23px}.nav-link{padding:10px 3px;min-height:44px;font-size:14px}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:25px;line-height:1;flex-shrink:0}.site-header .icon-button{border:0}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:54px 0 38px;gap:20px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:650;margin:0 0 13px;color:#7b876c}.eyebrow span{display:inline-block;width:6px;height:6px;background:#9ab387;border-radius:50%;margin:0 6px 2px 0}h1,h2,h3,p{margin-top:0}h1{font-family:"Iowan Old Style","AppleMyungjo","Batang",serif;font-size:43px;font-weight:500;letter-spacing:-.055em;line-height:1.3;margin-bottom:15px}.intro-copy{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:0}.primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 22px;background:var(--sage);border:1px solid var(--sage);border-radius:10px;color:#fffef2;font-weight:600;min-height:50px}.primary:hover{background:#2e503b}.write-button{white-space:nowrap;margin-bottom:5px;min-width:190px}.write-button span:first-child{font-size:23px;font-weight:400}.write-button span:last-child{margin-left:12px}.village-layout{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:26px}.garden-shell{overflow:hidden;border:1px solid #d4ddca;border-radius:18px;background:#edf1e3;position:relative}.garden-top{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;gap:10px;position:absolute;inset:0 0 auto;z-index:6;font-size:11px}.place{color:#6b7e68;letter-spacing:.03em}.place span{font-size:18px;margin-right:5px}.live{display:flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid #ffffff99;background:#f9fbefb8;border-radius:30px;color:#6b7968;white-space:nowrap}.live i{width:5px;height:5px;border-radius:50%;background:#789d6d}.garden{height:543px;position:relative;isolation:isolate;overflow:hidden}.landscape{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.tree{position:absolute;width:30%;max-width:250px;transform:translate(-50%,-50%)}.tree-love{left:27%;top:35%}.tree-wealth{left:74%;top:35%}.tree-health{left:22%;top:70%}.tree-dream{left:76%;top:70%}.tree-art{display:block;width:100%;padding:0;border-radius:45%;transition:filter .3s}.tree-art:hover{filter:brightness(1.04)}.tree-art svg{display:block;width:100%;overflow:visible}.tree-label{display:block;position:absolute;bottom:-11px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fcfaecdb;border:1px solid #fffdf4;border-radius:7px;box-shadow:0 2px 3px #3b53390b;padding:6px 11px;font-size:12px;min-height:40px;font-weight:650}.tree-label:active:not(:disabled){transform:translateX(-50%) translateY(1px)}.tree-label i{font-size:17px;font-style:normal;color:#9a6d71;margin-right:3px}.tree-wealth i{color:#aa8c3f}.tree-health i{color:#638764}.tree-dream i{color:#8776a1}.tree-label small{font-size:10px;color:#7e8c77;margin-left:4px;font-weight:400}.lanterns{position:absolute;inset:0;pointer-events:none}.lantern{position:absolute;width:44px;height:48px;padding:0;pointer-events:auto;transform:translate(-50%,-50%);display:grid;place-items:center}.lantern:active:not(:disabled){transform:translate(-50%,-50%) translateY(1px)}.lantern::before{content:"";position:absolute;top:1px;height:14px;width:1px;background:#806c5277}.lantern .light{height:23px;width:17px;border:1px solid #ccaa5a;background:linear-gradient(90deg,#f4d48a,#fff5c0 55%,#e7bb6e);border-radius:7px;box-shadow:0 0 10px 4px #fff5ba7a;position:relative;animation:breathe 4s ease-in-out infinite}.lantern .light::after{content:"";width:9px;height:2px;background:#b79752;position:absolute;top:-2px;left:3px;box-shadow:0 23px #b79752}.lantern.fulfilled .light{background:none;box-shadow:none;border:0;width:auto;height:auto;color:#fff1a3;font-size:30px;text-shadow:0 1px #be9841,0 0 12px #fff3a9}.lantern.fulfilled::before{background:#d3b76a}.empty-lantern{position:absolute;left:50%;top:43%;color:#fff5cf99;font-size:30px;pointer-events:none}.garden-hint{position:absolute;bottom:17px;left:0;width:100%;text-align:center;font-size:10px;color:#81916f;pointer-events:none}.village-sign{position:absolute;left:50%;top:54%;transform:translateX(-50%) rotate(-4deg);text-align:center;z-index:-1}.village-sign span{display:block;white-space:nowrap;font-size:9px;color:#937c53;padding:5px 8px;background:#f0e2bd;border:1px solid #e0cfab;border-radius:3px}.village-sign i{display:inline-block;height:20px;width:4px;background:#c5ad82}.garden-bottom{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #dce3cc;padding:10px 18px;color:#7c866e;font-size:10px;min-height:60px;background:#f3f4e7}.garden-bottom>span{display:flex;gap:6px;align-items:center}.legend-light{display:inline-block;width:8px;height:10px;border-radius:3px;background:#e8ca80;margin-right:1px}.legend-star{font-size:15px;color:#b69d50;margin-left:8px}.text-button{font-size:12px;min-height:40px;padding:6px 3px;text-decoration:underline;text-underline-offset:5px;color:#617454}.garden-bottom .text-button{font-size:11px;text-decoration:none}.side-notes{display:flex;flex-direction:column;gap:19px}.today-card{background:#efefe3;border:1px solid #e4e5d5;padding:27px 24px 0;border-radius:14px}.today-card .eyebrow{font-size:9px;color:#8b967b}.today-card h2{font-family:"AppleMyungjo","Batang",serif;font-size:22px;font-weight:500;line-height:1.65;margin:19px 0 22px;letter-spacing:-.04em}.total{display:flex;align-items:baseline;gap:8px;margin-bottom:22px}.total strong{font-family:Georgia,serif;font-weight:400;font-size:49px;line-height:1.1;letter-spacing:-.06em}.total span{font-size:12px;color:var(--muted)}.mini-stats{display:flex;flex-direction:column;gap:12px;font-size:11px;color:#858d78;margin-bottom:23px}.mini-stats span{display:flex;justify-content:space-between}.mini-stats b{font-weight:500;color:#5d7356;font-size:13px}.book-link{font-size:11px;border-top:1px solid #d9ddcd;display:flex;justify-content:space-between;width:100%;min-height:50px;align-items:center;color:#78846b}.book-link span{font-size:16px}.book-card{display:flex;gap:17px;align-items:center;text-align:left;padding:22px 19px;border:1px solid #e0dccd;background:#f5f0e3;border-radius:12px}.book-card small{font-size:9px;color:#9a907b;display:block;margin-bottom:3px}.book-card strong{display:block;font-size:16px;font-weight:500;margin-bottom:4px}.book-card span span{font-size:10px;color:#9a907b}.book-illustration{display:grid;place-items:center;border:1px solid #b3b493;box-shadow:3px 0 #e1ddc3,4px 0 #afb18c;background:#c4c9a7;color:#f7f4da;width:45px;height:61px;border-radius:2px 6px 6px 2px;font-size:30px;flex-shrink:0;transform:rotate(-7deg)}.book-card>b{align-self:flex-start;color:#919477;font-weight:400;margin-left:auto}.quiet-note{font-family:"AppleMyungjo","Batang",serif;font-size:11px;line-height:2.1;color:#9c9e8c;text-align:center;margin:0;padding-top:1px}.tree-guide{display:grid;grid-template-columns:repeat(4,1fr);margin:32px 0 38px}.tree-guide>div{display:grid;grid-template-columns:44px auto;column-gap:12px;justify-content:center;border-right:1px solid var(--line)}.tree-guide>div:last-child{border:0}.guide-icon{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-size:26px;font-weight:300}.love{background:#f1e2e1;color:#ad7e84}.wealth{background:#f2e9cd;color:#ac9347}.health{background:#e3eade;color:#6b8c6e}.dream{background:#e9e5ef;color:#9a8bb4}.tree-guide h3{font-size:12px;margin:1px 0 0;font-weight:650}.tree-guide p{font-size:10px;color:var(--muted);margin:0}.village-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 20px;display:flex;align-items:center;gap:22px}.village-note>span{font-size:33px;color:#aab598}.village-note p{margin:0;color:var(--muted);font-size:11px;line-height:1.9}.village-note strong{font-weight:500;color:#6d7a61;font-size:13px}.village-note button{margin-left:auto;white-space:nowrap;font-size:11px}footer{display:flex;align-items:center;gap:20px;min-height:101px;color:#969c8c;font-size:10px}footer .ditto{font-size:19px;color:#758768;letter-spacing:-.055em;font-weight:700}footer>button{margin-left:auto;font-size:10px;min-height:44px}footer small{font-size:9px}.mobile-only{display:none}.avatars{position:absolute;inset:0;pointer-events:none}.avatar{position:absolute;transform:translate(-50%,-80%);display:flex;align-items:center;flex-direction:column;transition:left 1.2s linear,top 1.2s linear;pointer-events:auto;width:90px;padding:0;border:0}.avatar-body{position:relative;width:23px;height:27px;border-radius:45% 45% 30% 30%;background:var(--avatar,#b69275);border:2px solid #fff8e9;box-shadow:0 3px 0 #86996c38}.avatar-body:before{content:"••";letter-spacing:4px;position:absolute;top:-2px;left:3px;color:#4b5144;font-size:9px}.avatar-body:after{content:"";position:absolute;left:3px;bottom:-4px;width:4px;height:5px;background:#746b55;box-shadow:9px 0 #746b55}.avatar-name{font-size:8px;color:#617451;background:#fffdf0b3;padding:1px 5px;margin-top:6px;border-radius:4px;white-space:nowrap}.avatar.me .avatar-name{background:#4e7059;color:#fffef1}.bubble{position:absolute;bottom:51px;font-size:10px;background:#fffdef;padding:6px 9px;white-space:nowrap;border-radius:9px;box-shadow:0 2px 10px #53703e15}.bubble:after{content:"";position:absolute;bottom:-4px;left:50%;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #fffdef}.connection{padding:12px 18px;background:#f7edce;color:#827148;border:1px solid #e9dbab;border-radius:9px;margin-bottom:17px;font-size:12px}dialog{padding:25px 28px 30px;border:1px solid var(--line);border-radius:19px;background:var(--panel);color:var(--ink);width:min(570px,calc(100% - 28px));max-height:89dvh;box-shadow:var(--shadow);overscroll-behavior:contain}dialog.wide{width:min(790px,calc(100% - 28px))}dialog::backdrop{background:#243b3266;backdrop-filter:blur(5px)}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.modal-top .eyebrow{margin:0;font-size:9px}.modal-top .icon-button{width:35px;height:35px;font-size:25px;border:0}dialog h2{font-family:"AppleMyungjo","Batang",serif;font-size:27px;font-weight:500;line-height:1.45;margin-bottom:12px;letter-spacing:-.04em}.modal-copy{font-size:12px;color:var(--muted);line-height:1.9}.form-field{margin:20px 0}.form-field label,.form-label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}textarea,input[type=text],input[type=password],select,input[type=search]{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:11px 13px;min-height:46px;font-size:14px}textarea{resize:vertical;min-height:150px;line-height:1.85}textarea::placeholder,input::placeholder{color:#a5ab9c}fieldset{padding:0;border:0;margin:22px 0}legend{font-size:12px;font-weight:600;margin-bottom:9px}.category-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.option{position:relative;text-align:center;font-size:12px;cursor:pointer}.option input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.option span{display:block;border:1px solid var(--line);border-radius:9px;padding:10px 4px}.option input:checked+span{border-color:var(--sage);background:#e8eddf}.option input:focus-visible+span{outline:3px solid #ae8f43;outline-offset:3px}.visibility-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.visibility-options small{display:block;font-size:10px;color:var(--muted);margin-top:4px;font-weight:400}.field-note{font-size:10px;color:#8e9683;display:flex;justify-content:space-between;margin-top:5px}.form-error{font-size:12px;color:#a9554c;min-height:22px;margin:10px 0}.form-submit{width:100%;margin-top:10px}.checkbox-line{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--muted);line-height:1.8}.checkbox-line input{margin-top:4px;accent-color:var(--sage);width:17px;height:17px;flex-shrink:0}.hp{position:absolute!important;left:-10000px;opacity:0;pointer-events:none}.pill{display:inline-block;border-radius:20px;padding:3px 10px;font-size:10px;margin-right:6px;background:var(--soft);color:var(--sage)}.wish-body{font-family:"AppleMyungjo","Batang",serif;font-size:22px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;padding:27px 2px;margin:0}.wish-meta{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;gap:10px}.wish-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}.secondary{border:1px solid var(--line);border-radius:9px;min-height:46px;padding:10px 17px;font-size:12px;background:var(--paper)}.secondary:hover{background:var(--soft)}.danger{color:#aa6259}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:15px}.button-row>*{flex:1}.small-link{font-size:11px;min-height:44px;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}.key-box{display:block;background:var(--soft);border:1px dashed #b3c0a5;border-radius:9px;padding:17px 15px;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:13px;user-select:all;margin:20px 0}.notice{background:#f5edda;border:1px solid #eaddba;padding:13px 15px;border-radius:9px;font-size:11px;line-height:1.9;color:#8b784f;margin:16px 0}.book-filters{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.book-filters select{width:auto;flex:1;font-size:12px;min-width:130px}.search-form{display:flex;gap:8px;margin-bottom:15px}.search-form input{flex:1;min-width:0}.search-form button{flex:0 0 auto}.book-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wish-card{border:1px solid var(--line);padding:17px;border-radius:10px;background:var(--paper);text-align:left;min-height:167px;display:flex;flex-direction:column;gap:10px}.wish-card:hover{border-color:#aebd9f}.wish-card p{margin:0;font-size:13px;line-height:1.9;overflow-wrap:anywhere;white-space:pre-wrap;flex:1}.wish-card small{font-size:10px;color:var(--muted)}.wish-card .pill{font-size:9px;align-self:flex-start}.empty{text-align:center;padding:40px 10px;color:var(--muted);font-size:12px;grid-column:1/-1}.empty>span{font-size:39px;display:block;margin-bottom:12px;color:#a6b58f}.load-more{width:100%;margin-top:15px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.stat-card{border:1px solid var(--line);background:var(--paper);padding:18px;border-radius:12px}.stat-card h3{font-size:14px}.stat-card dl{font-size:11px;display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:0;color:var(--muted)}.stat-card dd{margin:0;color:var(--ink)}.privacy-text{font-size:12px;line-height:2;color:var(--muted)}.privacy-text h3{font-size:14px;color:var(--ink);margin:24px 0 7px}.privacy-text ul{padding-left:18px}.privacy-text a{text-decoration:underline}.greeting-options{display:grid;gap:10px;margin-top:20px}.greeting-options button{font-size:15px;text-align:left;padding-left:20px}.checkmark{font-size:55px;color:#bb9e50;text-align:center}.busy{padding:25px 0;color:var(--muted);font-size:12px}.spinner{display:inline-block;width:17px;height:17px;border-radius:50%;border:2px solid #d7dfc9;border-top-color:var(--sage);animation:spin 1s linear infinite;vertical-align:middle;margin-right:10px}#toast{position:fixed;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:30;background:#344c41;color:#fffbed;border-radius:12px;padding:13px 20px;box-shadow:var(--shadow);font-size:12px;max-width:calc(100% - 28px);width:max-content}.celebration{position:fixed;inset:0;z-index:40;pointer-events:none;display:grid;place-items:center}.celebrate-message{background:#fffdf1f5;border:1px solid #e8d89c;border-radius:20px;padding:27px 35px;text-align:center;box-shadow:var(--shadow);color:#74632e;animation:arrive .6s ease-out}.celebrate-message strong{font-family:"AppleMyungjo",serif;display:block;font-size:25px;font-weight:500}.celebrate-message span{font-size:48px;display:block;color:#cfaf50}.celebrate-message p{margin:10px 0 0;font-size:12px}.confetti{position:absolute;left:var(--x);top:-40px;animation:fall var(--duration) linear forwards;animation-delay:var(--delay);font-size:var(--size);color:var(--color)}.reduced-motion-note{font-size:10px;color:var(--muted)}
body.night{--ink:#dfE4d4;--muted:#a8b3a2;--paper:#202f2b;--panel:#293a32;--line:#445447;--sage:#678565;--soft:#354839;color-scheme:dark}body.night .garden .landscape{filter:brightness(.55) saturate(.7) hue-rotate(12deg)}body.night .tree-art svg{filter:brightness(.78) saturate(.8)}body.night .garden-shell{border-color:#4b6050}body.night .garden-bottom{background:#344536;border-color:#4b6050;color:#bbc8aa}body.night .garden{background:#33493e}body.night .garden-hint{color:#d2d5b8}body.night .today-card{background:#2b3b2e;border-color:#455141}body.night .book-card{background:#3b3d2e;border-color:#55533e}body.night .tree-label{color:#44543b}body.night .option input:checked+span{background:#41563f}body.night .notice{background:#463f2c;color:#d4c495;border-color:#63593a}body.night .celebrate-message{background:#303d2ef5;color:#f0dfb6}body.night .village-note strong{color:#bac7a8}
@keyframes breathe{50%{box-shadow:0 0 15px 5px #fff0a894;transform:rotate(4deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes arrive{from{transform:translateY(15px);opacity:0}}@keyframes fall{to{transform:translate(20px,110vh) rotate(220deg)}}
@media(min-width:1400px){.garden{height:590px}.today-card{padding-top:34px}.today-card h2{margin-top:26px;margin-bottom:32px}.total{margin-bottom:30px}.book-card{padding-top:27px;padding-bottom:27px}.side-notes{gap:24px}}
@media(max-width:1100px){.wrap{padding-left:28px;padding-right:28px}.village-layout{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.garden{height:520px}.today-card{padding-left:19px;padding-right:19px}.today-card h2{font-size:20px}.tree{width:34%}.book-card{padding:20px 15px;gap:12px}.book-card strong{font-size:14px}.book-card small{font-size:8px}.book-card span span{font-size:9px}.book-illustration{width:35px;height:50px}.tree-guide>div{column-gap:8px}.tree-guide p{font-size:9px}}
@media(max-width:800px){.wrap{padding-left:22px;padding-right:22px}.site-header{height:84px}.site-header nav{gap:10px}.brand{font-size:20px}.brand-mark{font-size:36px}.brand small{font-size:7px}.nav-link{font-size:12px}.icon-button{width:35px;height:40px}.site-header .icon-button{font-size:23px}.intro{padding:34px 0 26px;align-items:center}h1{font-size:34px}.intro-copy{font-size:12px}.write-button{min-width:160px;padding:12px 17px;font-size:13px}.village-layout{display:block}.garden{height:550px}.tree{width:30%;max-width:225px}.side-notes{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:19px}.today-card{padding:18px 20px;display:flex;flex-direction:column}.today-card .eyebrow{font-size:8px;margin-bottom:5px}.today-card h2{font-size:16px;margin:7px 0 13px;line-height:1.6}.total{margin-bottom:15px}.total strong{font-size:37px}.mini-stats{margin-bottom:0;gap:6px;font-size:10px}.book-link{margin-top:15px;min-height:35px;padding-top:10px}.book-card{padding:23px;gap:18px;align-self:start;height:100%}.book-card strong{font-size:17px}.book-card small{font-size:9px}.book-card span span{font-size:10px}.book-illustration{width:40px;height:58px}.quiet-note{display:none}.tree-guide{margin-top:27px;margin-bottom:29px}.tree-guide>div{grid-template-columns:auto;justify-items:center;gap:4px;text-align:center}.guide-icon{grid-row:auto;margin-bottom:3px}.tree-guide p{font-size:9px}.village-note{padding:22px 0;gap:15px}.village-note strong{font-size:12px}.village-note p{font-size:10px}footer{gap:14px;flex-wrap:wrap;padding-top:24px;padding-bottom:24px;min-height:90px}footer>span{display:none}footer small{width:100%}}
@media(max-width:520px){.wrap{padding-left:18px;padding-right:18px}.site-header{height:76px}.site-header nav{gap:5px}.brand{gap:6px;font-size:19px}.brand-mark{font-size:33px}.brand small{font-size:6px}.nav-link{padding:8px 4px;font-size:11px}.site-header .icon-button{width:31px}.desktop-only{display:none}.mobile-only{display:initial}.intro{padding:28px 0 23px;display:block;position:relative}.intro .eyebrow{font-size:9px;margin-bottom:12px}h1{font-size:32px;line-height:1.4;margin-bottom:12px}.intro-copy{font-size:11px;line-height:1.9;padding-right:2px}.write-button{position:absolute;right:0;top:82px;min-width:0;padding:10px 12px;gap:7px;border-radius:8px;font-size:11px;min-height:44px}.write-button span:first-child{font-size:18px}.write-button span:last-child{display:none}.garden{height:490px}.garden-shell{border-radius:13px}.garden-top{padding:13px 13px;font-size:9px}.place span{font-size:15px}.live{padding:4px 8px}.tree{width:46%;max-width:none}.tree-love{left:25%;top:31%}.tree-wealth{left:75%;top:31%}.tree-health{left:24%;top:66%}.tree-dream{left:76%;top:66%}.tree-label{font-size:10px;padding:5px 8px;bottom:-13px;min-height:38px}.tree-label small{font-size:9px}.tree-label i{font-size:14px}.village-sign{top:46%}.village-sign span{font-size:7px;padding:3px 5px}.garden-hint{font-size:9px;bottom:13px}.garden-bottom{padding:8px 12px;min-height:55px;font-size:9px}.garden-bottom .text-button{font-size:10px}.legend-star{margin-left:3px}.side-notes{gap:10px;margin-top:14px;grid-template-columns:1.05fr 1fr}.today-card{padding:17px 14px;border-radius:10px}.today-card .eyebrow{font-size:6.5px}.today-card h2{font-size:14px;margin-bottom:15px}.total{gap:5px;margin-bottom:16px}.total strong{font-size:34px}.total span{font-size:9px}.mini-stats{font-size:8px;gap:7px}.mini-stats b{font-size:10px}.book-link{font-size:9px;min-height:33px;margin-top:13px}.book-card{padding:20px 12px;flex-wrap:wrap;align-content:center;gap:18px;border-radius:10px;position:relative}.book-card>b{position:absolute;right:12px;top:13px;font-size:14px}.book-illustration{margin-left:8px;width:36px;height:52px}.book-card>span:nth-child(2){width:100%}.book-card strong{font-size:14px;margin-top:5px}.book-card small{font-size:8px}.book-card span span{font-size:9px}.tree-guide{margin:25px 0}.tree-guide h3{font-size:11px}.tree-guide p{font-size:8px;white-space:nowrap;letter-spacing:-.05em}.guide-icon{width:34px;height:34px;font-size:22px}.village-note{gap:11px;flex-wrap:wrap}.village-note>span{font-size:26px}.village-note p{flex:1}.village-note strong{font-size:10px}.village-note p{font-size:9px}.village-note button{margin-left:37px;font-size:10px;min-height:28px;padding:0}footer{font-size:9px}footer .ditto{font-size:18px}footer button{font-size:9px}dialog{padding:18px 20px 26px;max-height:92dvh;border-radius:17px}dialog h2{font-size:24px}.book-list{grid-template-columns:1fr}.wish-card{min-height:145px}.wish-body{font-size:20px}.category-options{gap:5px}.option span{font-size:11px}.field-note{font-size:9px}.primary{font-size:13px}.modal-copy{font-size:11px}.stat-card{padding:14px}.avatar{width:75px}.avatar-name{font-size:7px}.bubble{font-size:8px}.tree-art:focus-visible{outline-offset:-3px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.confetti{display:none}}

/* Keep the main action below the heading on narrow phones. */
@media(max-width:520px){.write-button{position:static;width:100%;margin:18px 0 0;min-height:47px;font-size:12px}.write-button span:last-child{display:inline;margin-left:auto}.write-button span:first-child{margin-right:auto}.intro{padding-bottom:20px}}
.landscape .sun{display:none}.landscape{z-index:-2}.garden::before{content:"";position:absolute;right:14%;top:15%;width:38px;height:38px;border-radius:50%;background:#fff6ce;z-index:-1;pointer-events:none}body.night .garden::before{background:#e6e8ce;box-shadow:0 0 24px #f4efb344}

.celebration[popover]{margin:0;padding:0;border:0;width:100%;height:100%;max-width:none;max-height:none;background:transparent;overflow:hidden}.celebration[popover]::backdrop{background:transparent;backdrop-filter:none}
.avatar:active:not(:disabled){transform:translate(-50%,-80%) translateY(1px)}

/* The same Korean village clock and public growth model in both versions. */
.village-clock{min-width:65px!important;width:auto!important;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 6px!important;line-height:1.2}
.village-clock>span{font:500 11px/1.3 system-ui;white-space:nowrap}.village-clock>small{font:400 7px/1.4 system-ui;white-space:nowrap;opacity:.75}
.tree-growth{position:relative;transform:scale(var(--tree-growth,1));transform-origin:50% 91%;transition:transform 2.8s cubic-bezier(.22,.7,.3,1)}
.tree-art:active:not(:disabled){transform:translateY(1px)}
.garden{--night-shade:calc(1 - var(--daylight,1))}.garden .landscape{filter:brightness(calc(.43 + var(--daylight,1)*.57)) saturate(.8)!important;transition:filter 10s linear}
.garden::before{opacity:calc(.65 + var(--daylight,1)*.35);transition:background 10s,box-shadow 10s}
body[data-time-phase=dawn] .garden{background:#d9b9a0}body[data-time-phase=dusk] .garden{background:#b18e9e}
body[data-time-phase=dawn] .garden::before,body[data-time-phase=dusk] .garden::before{background:#ffd3a1;box-shadow:0 0 35px #f4c28a77}
.lantern .light{box-shadow:0 0 3px #fff5ba60;animation:day-glimmer 4.5s ease-in-out infinite;animation-delay:var(--spark-delay,0s)}
.lantern:not(.fulfilled) .light::before{content:'✦';position:absolute;left:9px;top:-10px;color:#fffce0;font-size:17px;text-shadow:0 0 3px #ae884e;animation:day-sparkle 4.5s ease-in-out infinite;animation-delay:var(--spark-delay,0s)}
body.night .lantern .light{background:linear-gradient(90deg,#ecc379,#ffeab1,#e8b563);box-shadow:0 0 14px 5px #ffdd9b65,0 0 30px 12px #f3c3772b;animation:night-lantern 6s ease-in-out infinite;animation-delay:var(--spark-delay,0s)}
body.night .lantern .light::before{display:none}body.night .lantern.fulfilled .light{background:none;box-shadow:none;color:#ffe5a2;text-shadow:0 0 12px #ffdf92a0}
@keyframes day-glimmer{0%,55%,100%{filter:brightness(1)}65%{filter:brightness(1.35)}}
@keyframes day-sparkle{0%,50%,80%,100%{opacity:0;transform:scale(.3) rotate(-15deg)}65%{opacity:.95;transform:scale(1) rotate(10deg)}}
@keyframes night-lantern{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}
body.night .world-tree-label{background:#283b35dc;color:#e0e7ce;border-color:#7d8a6355}body.night .world-nearby strong{color:#dce4c9}
body.night .world-map>p,body.night .world-map-heading,body.night .world-summary,body.night .world-summary b,body.night .world-nearby small{color:#bbc7aa}
body.night .world-camera-tools button{background:#293d37db;color:#dbe1cb;border-color:#7a87625c}body.night .world-avatar-label{color:#d7e2c8;text-shadow:none}body.night .world-avatar-label>span{background:#293d37db}body.night .world-bubble{background:#354b3ff5!important}
@media(max-width:380px){.site-header nav{gap:1px}.site-header .brand{font-size:16px}.site-header .brand-mark{font-size:25px}.site-header .nav-link{font-size:10px;padding-left:2px;padding-right:2px}.site-header .village-clock{min-width:57px!important;padding-left:2px!important;padding-right:2px!important}.world-top-tools{gap:4px}.world-top-tools .village-clock{min-width:57px!important}.world-live{margin-right:0}}
@media(prefers-reduced-motion:reduce){.tree-growth,.garden .landscape{transition:none}.lantern .light,.lantern .light::before{animation:none!important}.lantern .light::before{opacity:.7}}

.author-search-form{display:flex;align-items:end;gap:9px;margin-bottom:18px}.author-search-fields{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;flex:1;min-width:0}.author-search-fields label{font-size:11px;color:var(--muted);min-width:0}.author-search-fields input{margin-top:5px;min-width:0}.author-search-form button{flex-shrink:0}.wish-card small{overflow-wrap:anywhere}.wish-meta{flex-wrap:wrap}
@media(max-width:520px){.author-search-form{display:block}.author-search-fields{grid-template-columns:1fr}.author-search-form button{width:100%;margin-top:10px}}

.village-music{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:0 0 18px;width:max-content;max-width:100%;position:relative;z-index:6;box-shadow:0 4px 16px #435b2a09}.music-top{display:flex;align-items:center}.music-top button{min-height:42px;padding:8px 13px;font-size:11px}.music-top #music-toggle{min-width:139px;text-align:left;color:var(--sage)}.music-top #music-settings{border-left:1px solid var(--line);font-size:18px;width:35px;padding:5px}.music-options{padding:4px 13px 13px;max-width:250px}.music-options label{display:block;font-size:10px;color:var(--muted);margin:8px 0}.music-options select{margin-top:5px;font-size:11px;min-height:36px;padding:7px}.music-options input[type=range]{display:block;width:100%;accent-color:var(--sage);margin-top:9px}.music-options p{font-size:9px;color:var(--muted);line-height:1.7;margin:10px 0 0}.music-top button:focus-visible{outline:3px solid #bfa25f;outline-offset:2px}.village-music[data-music-state=running] #music-toggle{color:#597e55}body.night .village-music[data-music-state=running] #music-toggle{color:#d3d8ad}
