:root{--ink: #2c2723;--ink-soft: #57504a;--paper: #fbf6ee;--paper-2: #f3ead9;--line: #d9cbb4;--accent: #b4552f;--accent-ink: #7d3a20;--focus: #2f6df6;--ok: #3f6b46;--sky: #f4d3ab;--ground: #79805a;--radius: 14px;--shadow: 0 6px 24px rgba(44, 39, 35, .14);--font: ui-sans-serif, system-ui, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;--font-cjk: var(--font);color-scheme:light}html[lang=ja]{--font-cjk: "Hiragino Sans", "Noto Sans JP", sans-serif}html[lang=zh-Hans]{--font-cjk: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif}html[lang=zh-Hant]{--font-cjk: "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0}body{font-family:var(--font-cjk);color:var(--ink);background:var(--paper);line-height:1.65;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}body.scene-page{background:linear-gradient(180deg,var(--sky),#efe0c8 65%,var(--paper));overflow-x:hidden}a{color:var(--accent-ink);text-underline-offset:.2em}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--paper);color:var(--ink);padding:.7rem 1rem;border-radius:0 0 var(--radius) 0;box-shadow:var(--shadow)}.skip-link:focus{left:0}.top{display:flex;align-items:center;gap:.75rem;padding:.6rem clamp(.75rem,3vw,1.75rem);font-size:.94rem}.top a,.top button{color:var(--ink-soft)}.brand{font-weight:700;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.top nav{margin-left:auto;display:flex;gap:.9rem;flex-wrap:wrap}.top nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px}main{display:block}.wrap{width:min(880px,100% - 2.5rem);margin-inline:auto;padding-block:clamp(1.25rem,3vw,2.5rem) 3rem}.wrap h1{font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.25;letter-spacing:-.015em;margin:0 0 .75rem}.wrap h2{font-size:1.1rem;margin:2rem 0 .5rem}.wrap p{color:var(--ink-soft)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(.9rem,2.5vw,1.35rem);box-shadow:0 1px #2c27230a}.card+.card{margin-top:.9rem}.btn{--btn-bg: #fff;--btn-ink: var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--btn-bg);color:var(--btn-ink);font:inherit;font-size:.95rem;cursor:pointer;text-decoration:none}.btn:hover{border-color:var(--ink-soft)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-primary{--btn-bg: var(--accent);--btn-ink: #fff;border-color:var(--accent)}.btn-ghost{--btn-bg: transparent}.btn-sm{min-height:36px;font-size:.87rem;padding:.35rem .7rem}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.field{display:block;margin-block:.7rem}.field>span{display:block;font-size:.85rem;color:var(--ink-soft);margin-bottom:.25rem}input[type=text],input[type=password],select,textarea{width:100%;min-height:44px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:1rem}textarea{min-height:6rem;resize:vertical}.hint{font-size:.82rem;color:var(--ink-soft)}.muted{color:var(--ink-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}footer.site{border-top:1px solid var(--line);padding:1.1rem clamp(.75rem,3vw,1.75rem) 2rem;font-size:.88rem;color:var(--ink-soft)}footer.site .frow{display:flex;gap:1rem 1.4rem;flex-wrap:wrap;align-items:center}footer.site .frow nav{display:flex;gap:.9rem;flex-wrap:wrap}footer.site select{width:auto;min-height:36px;padding:.25rem .5rem;font-size:.88rem}footer.site .rights{margin-top:.8rem;font-size:.8rem;opacity:.8}#scene-root{position:relative;width:100%;height:min(90vh,940px);min-height:460px;display:flex;flex-direction:column;overflow:hidden;background:#e9dcc4;touch-action:none}#scene-canvas{position:relative;flex:1 1 auto;width:100%;min-height:0;display:block}.scene-bar{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:.6rem 1rem;flex-wrap:wrap;padding:.5rem clamp(.6rem,3vw,1.5rem) .6rem;background:#1814109e;backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.14)}.scene-bar-status{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;min-height:1.4em;font-size:.82rem;color:#fff8eedb}.scene-bar-status .chip-count{background:#ffffff24;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:.05rem .55rem}.scene-bar .actions{margin-left:auto}.scene-bar .btn{min-height:40px;padding:.4rem .85rem;font-size:.9rem}#scene-canvas{display:block;width:100%;height:100%}#ui-layer{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.55rem;padding:clamp(.6rem,2vw,1rem) clamp(.6rem,3vw,1.5rem);pointer-events:none;transition:opacity .6s ease;background:linear-gradient(180deg,#0000,#1e181247)}#ui-layer>*{pointer-events:auto}.scene-status{display:flex;gap:.9rem;align-items:center;flex-wrap:wrap;font-size:.86rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45);min-height:1.2em}.scene-status .chip-count{background:#ffffff29;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.05rem .55rem}.actions{display:flex;gap:.45rem;flex-wrap:wrap}.actions .btn{--btn-bg: rgba(255, 255, 255, .92);--btn-ink: var(--ink);border-color:#fff9;backdrop-filter:blur(3px);box-shadow:0 2px 10px #1e18122e}.actions .btn:hover{--btn-bg: #fff}#gaze-line{color:#fff;font-size:.95rem;max-width:34rem;text-shadow:0 1px 3px rgba(0,0,0,.55);margin:0}#toast{position:absolute;left:50%;top:1rem;transform:translate(-50%);background:#1c1814e0;color:#fff;padding:.5rem .9rem;border-radius:999px;font-size:.9rem;max-width:min(92vw,32rem);text-align:center;opacity:0;transition:opacity .24s ease;pointer-events:none}#toast.is-visible{opacity:1}#focus-live{position:absolute;left:-9999px}.overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#1e18128c;backdrop-filter:blur(2px)}.overlay[hidden]{display:none}.overlay .sheet{background:var(--paper);border-radius:18px;width:min(760px,100%);max-height:88vh;overflow:auto;padding:clamp(1rem,3vw,1.6rem);box-shadow:var(--shadow)}.overlay h2{margin-top:0}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem;margin-top:.8rem}.grid-cards figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 4px 2px;transform:rotate(var(--tilt, 0deg))}.grid-cards img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:4px;background:var(--paper-2)}.grid-cards figcaption{font-size:.72rem;text-align:center;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.zone-grid a{display:block;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:.9rem;text-decoration:none;color:var(--ink);min-height:88px}.zone-grid a:hover{border-color:var(--ink-soft)}.zone-thumb{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:calc(var(--radius) - 4px);margin:-.15rem 0 .65rem;background:var(--paper-2, #f4e9de)}.zone-grid strong{display:block;font-size:1.02rem}.zone-grid span{font-size:.84rem;color:var(--ink-soft)}.map-art{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line);display:block}.banner{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:.55rem .8rem;font-size:.88rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:.9rem}.banner[hidden]{display:none}table.kv{width:100%;border-collapse:collapse;font-size:.9rem}table.kv th,table.kv td{text-align:left;padding:.35rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}table.kv th{width:42%;color:var(--ink-soft);font-weight:500}.spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .9s linear infinite;vertical-align:-.15em}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(max-width:640px){#scene-root{height:min(78vh,720px)}.top nav{gap:.6rem;font-size:.86rem}}body.share-page{background:var(--paper);min-height:100dvh}.share{min-height:100dvh;display:grid;align-content:center;justify-items:center;padding:clamp(1rem,4vw,2.4rem) 1rem;gap:.75rem}.share-card{position:relative;width:min(420px,100%);background:#fffdf9;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:clamp(1rem,4vw,1.4rem);display:grid;gap:.55rem;justify-items:center;text-align:center;overflow:hidden}.share-plate{position:absolute;inset:0 0 auto;height:168px;background:linear-gradient(180deg,#f7dfbc,#eab98a 55%,#a89a6c);opacity:.9;z-index:0}.share-plate:after{content:"";position:absolute;inset:auto 0 0;height:26px;background:linear-gradient(180deg,#fffdf900,#fffdf9)}.share[data-zone=beach] .share-plate{background:linear-gradient(180deg,#ffe3c2,#f3b78e 48%,#8fa3ac)}.share[data-zone=stargaze] .share-plate{background:linear-gradient(180deg,#131a2e,#2b3352 55%,#3d4762)}.share[data-zone=river] .share-plate{background:linear-gradient(180deg,#e3eef4,#c6dcd4 55%,#7d8f6d)}.share[data-zone=yard] .share-plate{background:linear-gradient(180deg,#f8eedd,#e7dcc6 55%,#97956f)}.share-plate-majung{background:linear-gradient(180deg,#f7dfbc,#eab98a 55%,#a89a6c)}.share-card>:not(.share-plate){position:relative;z-index:1}.share-photo-wrap{margin:96px 0 0;width:min(240px,68%);aspect-ratio:4 / 3;border-radius:14px;background:var(--paper-2);border:1px solid var(--line);box-shadow:0 8px 22px #2c27232e;overflow:hidden;display:grid;place-items:center}.share-photo{width:100%;height:100%;object-fit:cover;display:block}.share-name{margin:.15rem 0 0;font-size:1.4rem;line-height:1.3}.share-line{margin:.3rem 0 0;font-size:1.02rem;line-height:1.7;max-width:30ch}.share-meta{margin:0;font-size:.87rem;color:var(--ink-soft)}.share-hint{margin:.35rem 0 0;font-size:.86rem;color:var(--ink-soft)}.pile{position:relative;width:min(300px,100%);height:74px;margin-top:.15rem}.pile-flower{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:radial-gradient(circle at 50% 45%,#fff8ef 0 26%,#ebb7c4 27% 60%,#d98fa4 61% 100%);box-shadow:0 1px 2px #2c272333;transform:translateY(calc(var(--i) * -.35px))}.pile-flower:nth-child(3n+2){background:radial-gradient(circle at 50% 45%,#fff6e2 0 26%,#f0cf7a 27% 60%,#d9ae4a 61% 100%)}.pile-flower:nth-child(3n){background:radial-gradient(circle at 50% 45%,#fff8ef 0 26%,#c9d8ee 27% 60%,#9db6da 61% 100%)}.share-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem}.share-done{width:100%;margin:0 0 .15rem;font-size:.95rem;color:var(--ok)}.share-minor{font-size:.83rem;color:var(--ink-soft);text-decoration:underline;text-underline-offset:.2em;align-self:center}.flower-picker{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.4rem}.flower-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:40px;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-size:.86rem;color:var(--ink);cursor:pointer}.flower-chip[disabled]{opacity:.45}.flower-dot{width:12px;height:12px;border-radius:50%;background:#d98fa4}.flower-tulip .flower-dot{background:#d9776b}.flower-hydrangea .flower-dot{background:#9db6da}.flower-cosmos .flower-dot{background:#e7a9b6}.flower-camellia .flower-dot{background:#c2543f}.share-tools{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:center;margin-top:.6rem;border-top:1px dashed var(--line);padding-top:.6rem;width:100%}.report-reasons{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;width:100%}.share-note{margin:0;width:min(420px,100%);text-align:center;font-size:.87rem;color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:.5rem .7rem}.share-closed{padding-block:clamp(2rem,8vw,3rem)}.share-closed-line{margin:0 0 .6rem;font-size:1.05rem}.card-candle{position:relative;width:44px;height:108px;margin:92px 0 .4rem}.card-wax{position:absolute;inset:auto 0 0;height:72px;border-radius:8px 8px 5px 5px;background:linear-gradient(90deg,#f4e5d0,#fff8ee 48%,#e6d3bb);box-shadow:0 4px 10px #2c272329}.card-flame{position:absolute;left:50%;bottom:72px;width:16px;height:26px;margin-left:-8px;border-radius:50% 50% 46% 46%;background:radial-gradient(ellipse at 50% 72%,#fff6cf 0 30%,#ffcf72 45%,#f2994a 78%,#f2994a00);transform-origin:50% 100%;animation:card-flicker 2.6s ease-in-out infinite alternate}.card-glow{position:absolute;left:50%;bottom:60px;width:120px;height:120px;margin-left:-60px;border-radius:50%;background:radial-gradient(circle,#ffd68c80,#ffd68c00 68%);pointer-events:none}@keyframes card-flicker{0%{transform:scale(1) skew(-1deg);opacity:.92}to{transform:scale(1.06) skew(1.5deg);opacity:1}}@media(prefers-reduced-motion:reduce){.card-flame{animation:none}}
