.occasion-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.occasion-cell{min-height:76px;padding:12px 8px;border-radius:var(--radius-sm);border:1px solid var(--ink-primary);background:var(--hanji),var(--paper-surface);color:var(--ink-primary);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}.occasion-cell strong{font-size:15px;line-height:22px;font-weight:600}.occasion-cell span{font-size:12px;line-height:18px;color:var(--ink-secondary)}.occasion-cell:active{background:var(--line-default)}@media(hover:hover){.occasion-cell:hover{background:var(--paper-sunken)}}.occasion-cell:focus-visible{outline:2px solid var(--ink-primary);outline-offset:2px}.gift-presets .segmented-option{white-space:normal}.gift-preview{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;margin:0}.gift-preview figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px}.gift-preview figcaption{font-size:14px;line-height:20px;font-weight:600}.gift-preview-note{font-size:12px;line-height:18px;color:var(--ink-secondary);margin:0}.lockscreen{width:100%;aspect-ratio:9 / 16;border:1px solid var(--ink-primary);background:var(--paper-sunken);overflow:hidden}.lockscreen img{width:100%;height:100%;display:block}.lockscreen-solo{max-width:220px}.pouch{position:relative;width:140px;height:168px;margin:0 auto}.pouch-neck{position:absolute;top:0;left:50%;width:76px;height:36px;transform:translate(-50%);background:var(--hanji),var(--paper-sunken);border:1px solid var(--ink-primary);border-radius:var(--radius-md) var(--radius-md) 0 0}.pouch-body{position:absolute;inset:40px 0 0;background:var(--hanji),var(--paper-sunken);border:1px solid var(--ink-primary);border-radius:var(--radius-md) var(--radius-md) 9999px 9999px;display:flex;align-items:center;justify-content:center;padding:16px 12px 28px;font-family:var(--font-title);font-size:15px;line-height:22px}.pouch-knot{position:absolute;top:30px;left:50%;width:56px;height:14px;margin-left:-28px}.pouch-knot:before,.pouch-knot:after{content:"";position:absolute;top:5px;width:30px;height:4px;background:var(--obang-red);border-radius:var(--radius-sm)}.pouch-knot:before{left:0;transform:rotate(-18deg)}.pouch-knot:after{right:0;transform:rotate(18deg)}.gift-stage{position:relative;width:min(100%,180px,20dvh);aspect-ratio:1 / 2.4}button.pouch{padding:0;border:0;background:none;color:var(--ink-primary);font:inherit;cursor:pointer}button.pouch:focus-visible{outline:2px solid var(--ink-primary);outline-offset:4px}.pouch-body{box-sizing:border-box}.gift-stage .talisman-paper{max-width:none;height:100%;gap:10px;opacity:0;transform:scaleY(.04);transform-origin:50% 0}.gift-stage .pouch{position:absolute;top:50%;left:50%;margin:-84px 0 0 -70px;zoom:1.2}.gift-stage.is-opening .pouch-knot:before{animation:knot-left .6s cubic-bezier(.2,.8,.2,1) both}.gift-stage.is-opening .pouch-knot:after{animation:knot-right .6s cubic-bezier(.2,.8,.2,1) both}.gift-stage.is-opening .pouch{animation:pouch-away .3s .5s cubic-bezier(.2,.8,.2,1) both}.gift-stage.is-opening .talisman-paper{animation:talisman-unfold .8s .6s cubic-bezier(.2,.8,.2,1) both}.gift-stage.is-opening .gift-name-seal{animation:name-stamp .3s 1.4s cubic-bezier(.2,.8,.2,1) both}.gift-stage.is-open .pouch{display:none}.gift-stage.is-open .talisman-paper{opacity:1;transform:none}@keyframes knot-left{to{opacity:0;transform:translate(-14px,10px) rotate(-70deg)}}@keyframes knot-right{to{opacity:0;transform:translate(14px,10px) rotate(70deg)}}@keyframes pouch-away{to{opacity:0;transform:translateY(24px) scale(.92)}}@keyframes talisman-unfold{0%{opacity:1;transform:scaleY(.04)}to{opacity:1;transform:none}}@keyframes name-stamp{0%{opacity:0;transform:scale(1.8)}to{opacity:1;transform:none}}.gift-title{font-family:var(--font-title);font-size:15px;line-height:22px;margin:0;color:var(--ink-primary)}.gift-name-seal{display:inline-block;max-width:100%;padding:6px 10px;background:var(--obang-red);color:var(--paper-canvas);border-radius:var(--radius-sm);font-family:var(--font-title);font-size:22px;line-height:30px;overflow-wrap:anywhere}.gift-stage .talisman-text{font-size:15px;line-height:24px}.gift-from-seal{width:48px;height:48px;border-radius:9999px;border:1px solid var(--ink-primary);background:var(--paper-surface);overflow:hidden;line-height:0}.gift-from-seal svg{width:100%;height:100%}.gift-message{margin:0;font-family:var(--font-title);font-size:17px;line-height:28px}.gift-after{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}.gift-after.is-hidden{visibility:hidden}.split{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 12px;border:1px solid var(--ink-primary);background:var(--hanji),var(--paper-surface)}.split h2{margin:0;font-size:22px;line-height:30px}.split-pair{position:relative;width:100%;height:202px;display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:hidden}.split-side{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.split-side-art{width:132px;height:132px;line-height:0}.split-side-art svg{width:100%;height:100%}.split-side strong{font-family:var(--font-title);font-weight:400;font-size:15px;line-height:22px;max-width:100%;text-align:center;overflow-wrap:anywhere}.split-side-nick{font-size:12px;line-height:18px;color:var(--ink-secondary)}.split-left{animation:split-in-left .4s cubic-bezier(.2,.8,.2,1) both}.split-right{animation:split-in-right .4s cubic-bezier(.2,.8,.2,1) both}.split-burst{position:absolute;top:66px;left:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:9999px;background:var(--ink-primary);opacity:0;animation:ink-burst .7s .35s cubic-bezier(.2,.8,.2,1) both}@keyframes split-in-left{0%{opacity:0;transform:translate(-60%)}}@keyframes split-in-right{0%{opacity:0;transform:translate(60%)}}@keyframes ink-burst{0%{opacity:.35;transform:scale(.2)}to{opacity:0;transform:scale(2.6)}}.split-score{margin:0;font-size:12px;line-height:18px;color:var(--ink-secondary)}.split-line{margin:0;color:var(--ink-secondary);text-align:center}.split-happen{width:100%;margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.split-happen li{padding:10px 0;border-top:1px solid var(--line-default);font-size:15px;line-height:24px}.split-skeleton{height:600px}@media(prefers-reduced-motion:reduce){.gift-stage.is-opening .pouch-knot:before,.gift-stage.is-opening .pouch-knot:after,.gift-stage.is-opening .gift-name-seal{animation:none}.gift-stage.is-opening .pouch{animation:pouch-fade .2s both}.gift-stage.is-opening .talisman-paper{animation:talisman-fade .2s both}.gift-stage .talisman-paper{transform:none}.split-left,.split-right{animation:none}.split-burst{display:none}}@keyframes pouch-fade{to{opacity:0}}@keyframes talisman-fade{0%{opacity:0}to{opacity:1}}@font-face{font-family:MaruBuri;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/MaruBuri/MaruBuri-Regular.woff2) format("woff2");font-display:optional}@font-face{font-family:MaruBuriSemiBold;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/MaruBuri/MaruBuri-SemiBold.woff2) format("woff2");font-display:optional}@font-face{font-family:MaruBuriBold;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/MaruBuri/MaruBuri-Bold.woff2) format("woff2");font-display:optional}:root{--paper-canvas: #fbf8f1;--hanji: url(/hanji-fibers.svg) 0 0 / 512px 512px repeat;--paper-surface: #fbf8f1;--paper-sunken: #e7ddc9;--ink-primary: #1c1a17;--ink-secondary: #5a544b;--ink-tertiary: #8c8478;--line-default: #d8cdb9;--obang-red: #c8372d;--obang-blue: #24466e;--obang-yellow: #e0a526;--accent-pine: #2f6b4f;--accent-gold: #b8893a;--state-danger: #a8261e;--radius-sm: 4px;--radius-md: 12px;--radius-sheet: 20px;--shadow-sheet: 0 -8px 24px rgba(28, 26, 23, .12);--shadow-lift: 0 12px 32px rgba(28, 26, 23, .18);--font-title: "MaruBuriBold", "MaruBuri", "AppleMyungjo", serif;--font-body: "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", sans-serif}*{box-sizing:border-box}html,body{word-break:keep-all;margin:0;padding:0;background:var(--hanji),var(--paper-canvas);color:var(--ink-primary);overflow-x:hidden}body{font-family:var(--font-body);line-height:1.6;letter-spacing:-.01em}h1,h2{font-family:var(--font-title);font-weight:400;letter-spacing:-.02em;text-wrap:balance}.app{min-height:100dvh;display:flex;flex-direction:column}.app-body{flex:1}.screen{max-width:480px;margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.screen.legal{align-items:stretch;text-align:left}.legal-table-wrap{width:100%;overflow-x:auto}.legal-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.8rem}.legal-table th,.legal-table td{border:1px solid var(--line-default);padding:6px 8px;text-align:left;vertical-align:top}.legal-table th{background:var(--paper-surface);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skeleton-line,.board-wrap-grid,.skeleton-btn{background:var(--paper-sunken)}.skeleton-line{width:90%;height:14px;border-radius:var(--radius-sm)}.skeleton-line-title{width:70%;height:32px}.headline-slot{width:100%;min-height:12.8rem;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.headline-slot h1{margin:0}.board-wrap-grid{width:100%;aspect-ratio:1 / 1.04}.skeleton-btn{width:100%;min-height:56px;border-radius:var(--radius-md)}.screen.reading{align-items:stretch}.screen.reading h1{text-align:center}.reading-scroll{max-width:32em;margin:0 auto;display:flex;flex-direction:column;gap:16px;text-align:left}[aria-busy=true] .reading-scroll{min-height:70vh}.reading-scroll p{font-size:1.0625rem;line-height:1.65;margin:0}.reading-summary{font-weight:600}.reading-section{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--line-default)}.reading-section h2{font-size:1.375rem;margin:0}.reading-advice{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ad-slot{width:100%;min-height:280px;margin-top:8px;display:flex;flex-direction:column;gap:4px;overflow:hidden;transition:min-height .2s ease}.ad-slot.is-unfilled{min-height:0;gap:0}.ad-slot-label{margin:0;font-size:.75rem;color:var(--ink-tertiary);max-height:20px;overflow:hidden;transition:max-height .2s ease,opacity .2s ease}.ad-slot.is-unfilled .ad-slot-label{max-height:0;opacity:0}.ad-slot-unit{width:100%}@media(prefers-reduced-motion:reduce){.ad-slot,.ad-slot-label{transition:none}}.reading-end-gap{min-height:100vh}.landing h1{font-size:1.75rem;line-height:1.3;margin:8px 0 0}.landing .hook{margin:0;text-wrap:balance;font-size:1.0625rem;line-height:1.65}.hook{color:var(--ink-secondary)}.result-scroll{position:relative;width:100%;max-width:320px;aspect-ratio:3 / 4;background:var(--hanji),var(--paper-surface);border:1px solid var(--ink-primary);border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 12px 20px;overflow:hidden}.result-scroll-tiger svg{width:62%;height:auto}.result-scroll-name{font-size:1.75rem;line-height:36px;margin:4px 0 0;text-align:center}.result-scroll-hanja{font-family:var(--font-title);font-size:1.1rem;color:var(--ink-secondary);margin:0}.result-scroll-band{width:56px;height:4px;margin-top:4px}.result-scroll.is-reveal .result-scroll-tiger{animation:ink-spread 1.2s cubic-bezier(.2,.8,.2,1) both}.result-scroll.is-reveal .result-scroll-name,.result-scroll.is-reveal .result-scroll-hanja,.result-scroll.is-reveal .result-scroll-band{animation:ink-follow .6s cubic-bezier(.2,.8,.2,1) .9s both}@keyframes ink-spread{0%{opacity:0;filter:blur(6px);transform:scale(1.03)}to{opacity:1;filter:blur(0);transform:none}}@keyframes ink-follow{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.result-scroll.is-reveal .result-scroll-tiger,.result-scroll.is-reveal .result-scroll-name,.result-scroll.is-reveal .result-scroll-hanja,.result-scroll.is-reveal .result-scroll-band{animation:none}}.key-prompt{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--paper-surface);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:12px}.key-prompt p{margin:0}.result-scroll-seal{position:absolute;right:14px;bottom:14px;width:28px;height:28px;line-height:0}.lines{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.board-wrap{width:100%}.board-wrap svg,.birth-form{width:100%;display:flex;flex-direction:column;gap:12px;text-align:left}.birth-intro{text-align:center}label,.field-title{margin:0;font-weight:600;font-size:.9rem}.segmented{display:flex;gap:8px}.segmented-option{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line-default);border-radius:var(--radius-md);background:var(--paper-surface);font-size:.9rem;font-weight:500;cursor:pointer}.segmented-option.is-active{background:var(--ink-primary);border-color:var(--ink-primary);color:var(--paper-canvas)}.segmented-option input{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.segmented-option:has(input:focus-visible){outline:3px solid var(--obang-blue);outline-offset:2px}.segmented-option:not(.is-active):active{background:var(--line-default)}@media(hover:hover){.segmented-option:not(.is-active):hover{background:var(--paper-sunken)}}.date-field{flex:2;display:flex;flex-direction:column;gap:4px}.date-field label{font-size:.8rem;color:var(--ink-secondary);font-weight:500}.date-field input{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line-default);border-radius:var(--radius-md);background:var(--paper-surface);font-size:1rem;text-align:center;font-variant-numeric:tabular-nums}.name-field input{text-align:left;font-variant-numeric:normal}.date-field input:focus-visible,button:focus-visible,a:focus-visible,input[type=checkbox]:focus-visible{outline:3px solid var(--obang-blue);outline-offset:2px}.consent-box{display:flex;flex-direction:column;gap:4px}.consent-notice{margin:0;font-size:12px;line-height:18px;color:var(--ink-secondary)}.consent-notice a{color:inherit}.consent-notice .link-btn{min-height:0;padding:0;font-size:inherit}.consent-check{display:flex;align-items:center;gap:8px;font-weight:500}.consent-check input{width:20px;height:20px}.consent-detail{white-space:pre-wrap;font-family:inherit;font-size:.85rem;opacity:.85;margin:0}.link-btn{position:relative;align-self:flex-start;background:none;border:none;color:var(--obang-blue);font-size:.85rem;padding:4px 0;min-height:32px;cursor:pointer}.link-btn:before{content:"";position:absolute;inset:-6px -8px}.link-btn:active:not(:disabled){opacity:.55}@media(hover:hover){.link-btn:hover:not(:disabled){opacity:.7}}button,.btn-primary,.btn-secondary,.btn-danger{min-height:44px;font:inherit;font-size:1rem;border-radius:var(--radius-md);cursor:pointer}.btn-primary,.btn-secondary{min-height:56px;font-size:1.0625rem}.btn-primary{width:100%;background:var(--obang-red);color:#fff;border:none;font-weight:600;padding:10px 16px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:active:not(:disabled){opacity:.8}@media(hover:hover){.btn-primary:hover:not(:disabled){opacity:.9}}.btn-primary.is-pending:disabled,.btn-secondary.is-pending:disabled{opacity:1;cursor:progress}.btn-primary.is-pending:after,.btn-secondary.is-pending:after{content:"";width:16px;height:16px;margin-left:8px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;display:inline-block;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.btn-primary.is-pending:after,.btn-secondary.is-pending:after{animation:none}}.btn-secondary{width:100%;color:var(--ink-primary);background:var(--paper-surface);border:1px solid var(--ink-primary);padding:10px 16px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-secondary:active:not(:disabled){background:var(--line-default)}@media(hover:hover){.btn-secondary:hover:not(:disabled){background:var(--paper-sunken)}}.btn-danger{background:transparent;color:var(--state-danger);border:1px solid var(--state-danger);padding:8px 14px}.btn-danger:active:not(:disabled){background:var(--paper-sunken)}@media(hover:hover){.btn-danger:hover:not(:disabled){background:var(--paper-sunken)}}.card{width:100%;border:1px solid var(--line-default);border-radius:0;padding:16px;background:var(--hanji),var(--paper-surface);display:flex;flex-direction:column;gap:10px}.notice{font-size:.8rem;color:var(--ink-secondary)}.error-banner{background:var(--paper-surface);border:1px solid var(--state-danger);color:var(--state-danger);padding:10px;border-radius:var(--radius-md);width:100%}.hint{font-size:.85rem;opacity:.75}.toast{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:448px;margin:0 auto;z-index:40;background:var(--ink-primary);color:var(--paper-canvas);border-radius:var(--radius-md);padding:12px 16px;font-size:.9rem;text-align:center;animation:toast-in .2s cubic-bezier(.2,.8,.2,1)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.sheet-backdrop{position:fixed;inset:0;background:#1c1a1773;z-index:50;display:flex;align-items:flex-end;justify-content:center}.payment-sheet{width:100%;max-width:480px;background:var(--paper-surface);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-sheet);padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;text-align:left;animation:sheet-up .2s cubic-bezier(.2,.8,.2,1)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.payment-sheet,.image-modal{animation:none}}.image-modal{width:100%;max-width:480px;max-height:90vh;background:var(--paper-surface);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-sheet);padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:12px;overflow-y:auto;text-align:center;animation:sheet-up .2s cubic-bezier(.2,.8,.2,1)}.image-modal img{width:100%;max-width:320px;height:auto;border:1px solid var(--line-default)}.external-url-box{width:100%;background:var(--paper-sunken);border-radius:var(--radius-md);padding:10px 12px;word-break:break-all;font-size:.85rem}.board-owner-seal{display:flex;align-items:center;gap:8px;min-height:48px}.board-owner-seal svg{width:40px;height:40px}.board-owner-seal span{font-family:var(--font-title);font-size:1.1rem}.skeleton-seal{width:40px;height:40px;border-radius:var(--radius-sm)}.skeleton-seal-name{width:130px;height:26px}.slot-list{list-style:none;padding:0;margin:0;width:100%;display:flex;flex-direction:column;gap:8px;text-align:left}.slot-list li{display:flex;align-items:flex-start;gap:8px;font-size:.9rem}.slot-icon svg{width:32px;height:32px}.slot-body{display:flex;flex-direction:column;gap:2px;min-width:0}.slot-line{color:var(--ink-secondary)}.slot-message{display:flex;align-items:center;gap:8px}.slot-message-seal svg{display:block;width:24px;height:24px}.rarity{margin:0;font-size:.75rem;line-height:18px;color:var(--ink-secondary)}.compat-score{margin:0}.compat-score strong{font-family:var(--font-title);font-size:1.4rem}.message-step{width:100%;display:flex;flex-direction:column;gap:12px;text-align:left;padding-top:16px;border-top:1px solid var(--line-default)}.message-step h2{margin:0;font-family:var(--font-title);font-size:1.2rem}.message-presets{flex-direction:column}.message-presets .segmented-option{justify-content:flex-start;padding:8px 12px;border-radius:var(--radius-sm);text-align:left}.stamp-picker .segmented-option{min-height:56px}.stamp-picker svg{display:block}.stamp-done{display:flex;flex-direction:column;align-items:center;gap:8px}.stamp-done p{margin:0}.stamp-done-seal{line-height:0;animation:seal-press .2s cubic-bezier(.2,.8,.2,1)}@keyframes seal-press{0%{opacity:0;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.stamp-done-seal{animation:none}}.danger-zone{margin-top:24px;padding-top:16px;border-top:1px solid var(--line-default)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chip{min-height:44px;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid var(--ink-primary);background:var(--paper-surface)}.chip:active:not(:disabled){background:var(--line-default)}@media(hover:hover){.chip:hover:not(:disabled){background:var(--paper-sunken)}}.talisman-paper{position:relative;width:100%;max-width:220px;aspect-ratio:1 / 2.4;background:var(--obang-yellow);border:1px solid var(--obang-red);border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px 12px;overflow:hidden}.talisman-paper svg{width:100%;height:auto;display:block}.talisman-text{font-size:1.05rem;font-family:MaruBuri,AppleMyungjo,serif;color:var(--ink-primary);margin:0}.talisman-progress{width:100%;max-width:220px;height:4px;background:var(--paper-sunken);overflow:hidden}.talisman-progress-fill{height:100%;background:var(--obang-red);transition:width .12s linear}.talisman-stamp{position:absolute;left:50%;bottom:22px;width:44px;height:44px;transform:translate(-50%);line-height:0;animation:stamp-in .2s cubic-bezier(.2,.8,.2,1)}@keyframes stamp-in{0%{opacity:0;transform:translate(-50%) scale(.4)}to{opacity:1;transform:translate(-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.talisman-stamp{animation:none}}.footer{text-align:center;font-size:.75rem;opacity:.65;padding:16px;border-top:1px solid var(--line-default)}.footer a{color:var(--ink-primary)}.report-card{text-align:left}.report-card h2,.report-card p{margin:0}.me-summary{text-align:left;gap:12px}.me-summary-title,.me-card-title{margin:0;font-size:1.25rem;line-height:1.5}.me-summary-title{min-height:1.5em}.me-summary-title .skeleton-line{display:block;margin-top:.5em}.me-summary-body{min-height:calc(4 * 1.65 * 1.0625rem + 16px);margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:8px}.me-summary-body li,.me-items{margin:0;font-size:1.0625rem;line-height:1.65}.me-summary-body .skeleton-line{height:1.0625rem;margin:.3em 0}.me-actions{width:100%;display:flex;flex-direction:column;gap:8px}.me-actions .btn-secondary{width:100%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink-primary)}.me-section{display:block;padding:0;text-align:left}.me-section-head{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 16px;cursor:pointer;list-style:none}.me-section-head::-webkit-details-marker{display:none}.me-section-head:after{content:"+";font-size:1.25rem;color:var(--ink-secondary)}.me-section[open]>.me-section-head:after{content:"−"}.me-section-head h2{margin:0;font-size:1.25rem;line-height:1.5}.me-section>:not(summary){margin:0 16px 12px}.me-section>:last-child{margin-bottom:16px}.me-items{padding-left:1.1em;display:flex;flex-direction:column;gap:8px}.me-name{text-align:left}.me-name .hint{margin:0}.me-name-form{display:flex;gap:8px}.me-name-form input{flex:1;min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--line-default);border-radius:var(--radius-md);background:var(--paper-surface);font:inherit}.me-name-form .btn-secondary{flex:none;padding:0 16px}.me-more{display:flex;justify-content:center;gap:20px;font-size:.9375rem}.me-more a{color:var(--ink-primary);min-height:44px;display:inline-flex;align-items:center}.report-sub{font-size:.85rem;font-weight:600;color:var(--ink-secondary)}.ohaeng-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ohaeng-bars li{display:grid;grid-template-columns:2.5em 1fr 1.5em;align-items:center;gap:8px;font-size:.85rem}.ohaeng-track{height:8px;background:var(--paper-sunken)}.ohaeng-fill{display:block;height:100%;background:var(--ink-tertiary)}.ohaeng-bars li.is-strong .ohaeng-fill{background:var(--ink-primary)}.ohaeng-count{text-align:right}.match-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.match-item{display:flex;align-items:center;gap:10px;min-height:56px;color:var(--ink-primary);text-decoration:none;border-bottom:1px solid var(--line-default)}.match-art{line-height:0;flex:none}.match-name{flex:1}.match-name .hint{display:block}.match-score{font-family:var(--font-title);font-size:1.2rem}.landing-split{margin:0;display:flex;justify-content:center;align-items:center;gap:8px;height:104px;line-height:0}.landing-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border:1px solid var(--ink-primary);border-radius:var(--radius-sm);background:var(--paper-surface);font-size:1rem;font-weight:600;line-height:1.4;max-width:6.5em;text-align:center}.landing-chip-label{font-size:.75rem;font-weight:500;color:var(--ink-secondary)}.dogam h1{margin:8px 0 0}.dogam-count{margin:0;font-family:var(--font-title);font-size:1.75rem;line-height:36px}.dogam-grid{list-style:none;margin:0;padding:0;width:100%;display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.dogam-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;border:1px solid var(--line-default);border-radius:0;color:var(--ink-tertiary);text-decoration:none;font-size:.7rem;line-height:1.2}.dogam-cell.is-collected{background:var(--paper-surface);border-color:var(--ink-primary);color:var(--ink-primary)}.dogam-cell.is-golden{border:1.5px solid var(--accent-gold)}.dogam-art{display:block;width:100%;aspect-ratio:1;line-height:0;background:center / contain no-repeat}.dogam-art svg{width:100%;height:100%}.brush{position:fixed;inset:0;z-index:50;background:var(--hanji),var(--paper-canvas);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 16px calc(24px + env(safe-area-inset-bottom,0px));outline:none}.brush-stage{position:relative;width:240px;height:240px;margin-bottom:12px}.brush-art,.brush-art svg{display:block;width:100%;height:100%}.brush-seal{position:absolute;right:-20px;bottom:28px;width:44px;height:44px;line-height:0;animation:bd-stamp calc(.5s * var(--t)) cubic-bezier(.2,.8,.2,1) calc(5.5s * var(--t)) both}.brush-line{margin:0;min-height:28px;font-size:17px;line-height:28px;text-align:center}.brush-line-2{display:grid;color:var(--ink-secondary)}.brush-line-2 span{grid-area:1 / 1}.brush-line-a{animation:bd-fade calc(.3s * var(--t)) ease calc(1.2s * var(--t)) both,bd-out calc(.3s * var(--t)) ease calc(3.6s * var(--t)) forwards}.brush-line-b{animation:bd-fade calc(.3s * var(--t)) ease calc(3.9s * var(--t)) both}.brush-skip{align-self:center;margin-top:8px;animation:bd-show 1ms linear 2s both}.bd-ink{transform-box:fill-box;transform-origin:center;animation:bd-ink calc(.5s * var(--t)) ease-out both}.bd-line path{stroke-dasharray:1;animation:bd-draw calc(.6s * var(--t)) ease-in-out calc((.5s + var(--i) * .3s) * var(--t)) both}.bd-fill{animation:bd-fade calc(1s * var(--t)) ease calc(3.2s * var(--t)) both}.bd-eyes{animation:bd-fade calc(.7s * var(--t)) ease calc(4.2s * var(--t)) both}.bd-prop{animation:bd-fade calc(.6s * var(--t)) ease calc(4.9s * var(--t)) both}.brush.is-static *{animation:none}.brush.is-static .brush-line-2,.brush.is-static .brush-line-2 span{display:block}@keyframes bd-ink{0%{transform:scale(.1);opacity:0}to{transform:none;opacity:.06}}@keyframes bd-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes bd-fade{0%{opacity:0}to{opacity:1}}@keyframes bd-out{to{opacity:0}}@keyframes bd-stamp{0%{opacity:0;transform:scale(1.4)}to{opacity:1;transform:none}}@keyframes bd-show{0%{visibility:hidden;opacity:0}to{visibility:visible;opacity:1}}
