@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600;700&display=swap');
:root{--paper:#f6f3eb;--ink:#263b32;--muted:#7c8075;--red:#a44d37;--line:#dddcd0;--serif:'Noto Serif KR',serif;--sans:'Noto Sans KR',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%237c7562' opacity='.3' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b77652;outline-offset:4px}a{color:inherit;text-decoration:none}header{min-height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.2%;gap:25px}.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:21px;font-weight:700;white-space:nowrap}.seal{font-size:22px;color:var(--red);border:2px solid var(--red);padding:0 4px;transform:rotate(-5deg);line-height:1.3}.brand small{font-size:10px;letter-spacing:2px;font-weight:400;color:var(--muted);margin-left:6px}nav{display:flex;gap:30px;align-self:stretch;align-items:center}nav button{border:0;background:none;color:var(--muted);height:100%;position:relative;padding:0 2px;font-size:13px}nav button.active{color:var(--ink);font-weight:600}nav button.active:after{content:'';position:absolute;height:2px;bottom:0;left:0;right:0;background:var(--ink)}nav span{font-size:10px;background:#e8e9df;padding:2px 6px;border-radius:10px}.header-note{color:var(--muted);font-size:11px;letter-spacing:1px}main{max-width:1360px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1fr 1.1fr;min-height:590px;align-items:center;gap:20px;padding:55px 0 30px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--red);margin-bottom:24px;display:flex;align-items:center;gap:10px}.eyebrow span{width:20px;height:1px;background:var(--red)}h1{font:500 clamp(36px,4.3vw,61px)/1.45 var(--serif);letter-spacing:-2.5px;margin:0 0 24px}h1 em{color:var(--red);font-style:normal}p{line-height:1.95}.lead{color:#70776c;line-height:2;font-size:14px;letter-spacing:.2px;margin-bottom:30px}.primary{border:0;background:var(--ink);color:#fff;padding:19px 24px;border-radius:3px;display:flex;align-items:center;justify-content:space-between;gap:36px;font-weight:500;transition:background .2s,transform .2s}.primary:hover{background:#365445;transform:translateY(-2px)}.hero-action small{display:block;margin-top:12px;font-size:10px;color:var(--muted)}.hero-stats{display:flex;margin-top:35px;gap:30px}.hero-stats>div+div{border-left:1px solid var(--line);padding-left:30px}.hero-stats strong{font-size:24px;font-weight:500;display:block;font-family:var(--serif)}.hero-stats strong small{font-size:12px;color:var(--muted)}.hero-stats div>span{display:block;color:var(--muted);font-size:10px;margin-top:6px}.painting{height:470px;position:relative}.painting img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.vertical{position:absolute;right:1%;top:25px;writing-mode:vertical-rl;font:13px/2.4 var(--serif);letter-spacing:4px;color:#687668}.art-seal{position:absolute;right:4%;top:195px;border:1px solid var(--red);font:17px/1.3 var(--serif);color:var(--red);padding:5px 7px;transform:rotate(3deg)}.art-caption{position:absolute;bottom:0;right:14%;font:11px var(--serif);color:var(--muted);letter-spacing:3px}.section-line{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:20px 0 16px;font-size:12px}.section-line span:last-child{font:10px var(--serif);color:var(--muted);letter-spacing:1px}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 0 40px;gap:28px}.world-grid article{display:flex;position:relative;gap:18px}.world-grid article+article{border-left:1px solid var(--line);padding-left:28px}.world-icon{font:28px var(--serif);border:1px solid #bdc3b4;min-width:54px;height:62px;display:grid;place-items:center;border-radius:40% 40% 3px 3px;background:#e9ecdf}.world-grid h3{font:600 15px var(--serif);margin:4px 0 9px}.world-grid p{font-size:11px;color:var(--muted);margin:0}.world-num{position:absolute;right:0;top:0;font:10px var(--serif);color:#a4aa9c}.note{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:22px 0;font-size:10px;color:var(--muted)}.note p{margin:0;flex:1}.text-btn{background:none;border:0;color:var(--muted);font-size:11px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}footer{border-top:1px solid var(--line);margin-top:35px;padding:28px 5.2%;display:flex;gap:20px;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}footer .brand{font-size:15px;color:var(--ink)}footer p{font-family:var(--serif);letter-spacing:1px}.page-heading{padding:60px 0 25px}.page-heading h2,h2{font:500 34px/1.5 var(--serif);letter-spacing:-1px;margin:10px 0 15px}.page-heading p{color:var(--muted)}.progress-meta{display:flex;justify-content:space-between;font-size:12px}.progress{height:4px;background:#e1e3d8;margin:14px 0 30px}.progress i{display:block;height:100%;background:var(--ink);width:0;transition:width .4s}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.filters{display:flex;gap:8px}.filters button,.secondary{padding:10px 17px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--ink);font-size:12px}.filters .selected{background:var(--ink);color:white;border-color:var(--ink)}.selects{display:flex;gap:8px}select{padding:10px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);font-size:12px}.small{font-size:11px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.life-card{border:1px solid var(--line);background:#faf8f2;border-radius:4px;text-align:left;min-height:175px;padding:22px;position:relative;color:var(--ink)}button.life-card:hover{border-color:var(--ink);transform:translateY(-2px)}.life-card.locked{background:transparent}.card-id{font-size:9px;letter-spacing:1.5px;color:#8b8f83}.card-symbol{position:absolute;right:20px;top:20px;color:#99a28c;font:22px var(--serif)}.life-card h3{font:500 16px/1.6 var(--serif);margin:18px 0 10px}.locked h3{letter-spacing:0;color:#7d8575}.life-card p{font-size:10px;color:var(--muted);margin:5px 0}.probability{font-size:12px;color:var(--red);font-variant-numeric:tabular-nums}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.card-bottom span:last-child{font-size:9px;color:var(--muted)}#more{display:block;margin:25px auto}.empty{text-align:center;padding:80px 20px;color:var(--muted);border:1px dashed var(--line);margin:20px 0}.empty b{display:block;font:26px var(--serif);margin-bottom:15px;color:var(--ink)}.history-actions{display:flex;justify-content:space-between;margin:10px 0 25px}.history-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:22px 15px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;gap:16px}.history-row .index{font:20px var(--serif);color:#9da58f}.history-row .row-main{flex:1}.history-row h3{margin:0 0 6px;font:500 16px var(--serif)}.history-row small{color:var(--muted);font-size:10px}.tag{display:inline-block;font-size:10px;border:1px solid #bcc4b3;color:#667a5c;padding:4px 8px;border-radius:2px}.result-sheet{border:1px solid #c2c9b7;background:#faf8f2;padding:35px;margin:20px 0 40px;animation:reveal .65s ease-out}.result-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--red);letter-spacing:1px}.result-sheet h2{font-size:32px}.life-meta{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 26px}.life-meta span{background:#eef0e6;padding:7px 11px;font-size:11px}.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 30px}.story-grid h4{font:600 14px var(--serif);margin:0 0 10px}.story-grid h4 small{font:10px var(--sans);color:var(--red);margin-right:9px}.story-grid p{font-size:12px;color:#6b7267;margin:0}.result-actions{display:flex;gap:10px;margin-top:28px}.result-actions button{font-size:12px}.prob-detail{font-size:12px;color:var(--muted);line-height:1.8}.prob-detail b{color:var(--red);font-size:19px}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:5px;padding:40px;max-width:700px;width:calc(100% - 30px);max-height:85vh;overflow:auto}dialog::backdrop{background:#1f342ada;backdrop-filter:blur(5px)}dialog p{color:#6b7267;font-size:12px}dialog h2{font-size:29px}dialog .close{position:absolute;right:15px;top:12px;background:none;border:0;color:var(--muted);font-size:25px}dialog a{display:block;font-size:12px;margin:12px 0;text-decoration:underline}dialog .result-sheet{padding:0;margin:0;border:0;background:none}.distribution{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.distribution span{font-size:11px;padding:15px;background:#e9ecdf}.distribution b{display:block;margin-top:7px;color:var(--red)}.dialog-actions{display:flex;gap:10px;margin-top:25px}#ritual{position:fixed;inset:0;z-index:10;background:#20372ff5;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#f3eee0}#ritual[hidden]{display:none}.ritual-inner{text-align:center;position:relative;z-index:2}.ritual-inner>span{font:65px var(--serif);display:inline-block;animation:pulse 1.2s infinite;color:#d1b58c}.ritual-inner h2{font-size:22px}.ritual-inner p{font-size:11px;color:#a8b3a3;letter-spacing:1px}.ring{position:absolute;border:1px solid #cdb99644;border-radius:50%;width:400px;height:400px;animation:spin 8s linear infinite}.ring:before,.ring:after{content:'✦';position:absolute;left:49%;top:-12px;color:#b8a17b}.ring:after{top:auto;bottom:-12px}.ring2{width:510px;height:510px;border-style:dashed;animation-direction:reverse;opacity:.5}.particles i{position:absolute;width:3px;height:3px;background:#d2b57f;border-radius:50%;animation:float 2s infinite}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--ink);color:#fff;font-size:12px;border-radius:3px;z-index:20;opacity:0;pointer-events:none;transition:opacity .3s}#toast.show{opacity:1}@keyframes pulse{50%{opacity:.3;transform:scale(.94)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{from{opacity:0;transform:translateY(50px)}50%{opacity:1}to{opacity:0;transform:translateY(-90px)}}@keyframes reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[hidden]{display:none!important}@media(min-width:1450px){header,footer{padding-left:calc((100vw - 1224px)/2);padding-right:calc((100vw - 1224px)/2)}}@media(max-width:1000px){.header-note,.brand small{display:none}nav{gap:20px}.hero{min-height:540px}.painting{height:420px}.hero-stats{gap:20px}.hero-stats>div+div{padding-left:20px}.world-grid{gap:15px}.world-grid article+article{padding-left:15px}.world-grid article{gap:10px}.world-grid p br{display:none}.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){header{flex-wrap:wrap;justify-content:center;padding:20px 5% 0;gap:18px}.brand{font-size:20px}nav{width:100%;justify-content:space-between;gap:8px;height:48px}nav button{font-size:12px}main{padding:0 6%}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:35px;gap:0}.intro{position:relative;z-index:1}h1{font-size:40px}.lead{font-size:13px}.hero-action .primary{width:100%;max-width:370px}.hero-stats{justify-content:flex-start}.painting{height:300px;margin-top:15px}.vertical{top:10px;font-size:10px}.art-seal{top:140px;font-size:13px}.world-grid{grid-template-columns:1fr;padding:15px 0;gap:0}.world-grid article{padding:20px 0!important;border-left:0!important}.world-grid article+article{border-top:1px solid var(--line)}.world-grid p{font-size:12px}.section-line span:last-child{display:none}.note{align-items:flex-start;flex-wrap:wrap}.note .text-btn{margin-left:20px}footer{flex-wrap:wrap;justify-content:center;margin-top:15px;padding:25px 6%;gap:10px}footer p{width:100%;text-align:center;margin:0}.cards{grid-template-columns:repeat(2,1fr);gap:9px}.life-card{padding:16px;min-height:170px}.life-card h3{font-size:14px}.card-symbol{right:14px;font-size:18px}.toolbar{align-items:stretch;flex-direction:column}.selects{margin-top:8px}.selects select{flex:1}.page-heading{padding-top:35px}.story-grid{grid-template-columns:1fr}.result-sheet{padding:22px}.result-sheet h2{font-size:25px}.result-top{letter-spacing:0;font-size:10px}.result-actions{flex-wrap:wrap}.history-row{padding:18px 0}.history-row h3{font-size:14px}.history-row .probability{font-size:10px}dialog{padding:30px 23px}.distribution{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.life-illustration{float:right;width:44%;max-width:430px;margin:24px 0 24px 30px;padding:7px;border:1px solid #d7d4c2;background:#ede7d6;border-radius:3px;box-shadow:0 4px 18px #263b3210}.life-art{width:100%;aspect-ratio:1;background-size:200% 200%;background-position:var(--art-x) var(--art-y);background-repeat:no-repeat;background-color:#e9e0cc}.result-sheet .story-grid{clear:both;padding-top:20px}.result-sheet h2{overflow-wrap:anywhere}dialog .life-illustration{width:44%;margin-top:20px}@media(max-width:700px){.life-illustration,dialog .life-illustration{float:none;width:100%;max-width:440px;margin:22px auto}.result-sheet .story-grid{padding-top:8px}}

.probability-details{margin:24px 0;border-block:1px solid var(--line);padding:16px 0}.probability-details summary{cursor:pointer;line-height:1.6}.probability-scroll{overflow-x:auto}.probability-scroll table{width:100%;border-collapse:collapse;font-size:13px;margin:16px 0}.probability-scroll th,.probability-scroll td{padding:9px 6px;border-bottom:1px solid #ded8cb;text-align:left}.probability-scroll td:last-child,.probability-scroll th:last-child{text-align:right;white-space:nowrap}.probability-scroll th[scope=row]{font-weight:500}

.visitor-bar{display:flex;gap:18px;align-items:center;margin:0 0 16px;font-size:12px;color:var(--muted);flex-wrap:wrap}.visitor-heading{font:15px var(--serif);color:var(--red);padding-top:14px;overflow-wrap:anywhere}.sharing-actions{display:flex;flex-wrap:wrap;gap:10px;clear:both;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.sharing-note{font-size:10px;color:var(--muted)}.shared-heading{color:var(--red);font-size:12px}#profileDialog{max-width:540px}#profileForm label{display:block;font-size:12px;margin:19px 0 9px}#profileForm input,#profileForm select,#shareLink{display:block;width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid #cbd0c1;background:#faf8f2;color:var(--ink);border-radius:3px;font:16px var(--sans)}input:focus-visible{outline:2px solid var(--red);outline-offset:2px}#profileForm .primary{width:100%;justify-content:center}.profile-options{display:flex;justify-content:space-between;gap:16px;margin-top:20px}.profile-notice{font-size:11px!important}#profileError{color:var(--red)}@media(max-width:700px){.sharing-actions .secondary{flex:1;min-height:46px}.profile-options{flex-wrap:wrap}.sharing-note{line-height:1.8}#toast{max-width:90%;width:max-content}}

.footer-links{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;line-height:1.8}footer:has(.footer-links){flex-wrap:wrap}.footer-links a{text-decoration:underline;text-underline-offset:4px;font-size:11px}.policy-page{max-width:960px;padding-top:55px;padding-bottom:35px}.policy-page h1{font-size:38px;letter-spacing:-1px}.policy-page h2{font-size:25px;margin-top:34px}.policy-page h3{font:600 17px var(--serif);margin-top:24px}.policy-page p{font-size:14px;color:#58675c}.policy-page section{scroll-margin-top:24px;border-top:1px solid var(--line);margin-top:28px;padding-top:5px}.policy-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.policy-date{font-size:12px!important;color:var(--muted)}.policy-status{background:#e9ecdf;border-left:3px solid #728267;padding:18px 22px;line-height:1.9}.policy-status p{margin-bottom:0}.policy-toc{display:flex;flex-wrap:wrap;gap:16px;margin:25px 0}.policy-table-wrap{overflow:auto}.policy-table-wrap table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.9}.policy-table-wrap th,.policy-table-wrap td{text-align:left;vertical-align:top;padding:14px 12px;border-bottom:1px solid var(--line)}.policy-table-wrap code{font-size:10px;overflow-wrap:anywhere}.storage-panel{padding:22px;border:1px solid #c2c9b7;background:#faf8f2}.storage-toggle{display:flex;align-items:center;gap:12px;font-size:15px}.storage-toggle input{width:22px;height:22px;accent-color:var(--ink);flex-shrink:0}.storage-actions{display:flex;flex-wrap:wrap;gap:12px}.storage-actions button{min-height:44px}#storageStatus{font-size:12px;color:var(--red)}.profile-policy-links a{display:inline;font-size:11px}.policy-footer nav a{font-size:12px}@media(max-width:700px){.policy-page{padding-top:32px}.policy-page h1{font-size:30px}.policy-page h2{font-size:22px}.policy-status,.storage-panel{padding:18px}.policy-page p{font-size:13px}.policy-page nav a,header nav a{font-size:12px}.policy-table-wrap th,.policy-table-wrap td{padding:10px 7px;min-width:115px}.storage-actions button{width:100%;justify-content:center}}

.banner-ad{width:300px;max-width:calc(100% - 16px);margin:44px auto 36px;text-align:center;clear:both}.banner-ad-label{display:block;margin-bottom:10px;color:var(--muted);font-size:10px;letter-spacing:2px}.banner-ad-slot{width:300px;height:250px;overflow:hidden;isolation:isolate;contain:layout paint;background:#eeeae0}.banner-ad-slot>iframe{display:block;width:300px;height:250px;border:0}.banner-ad-info{display:inline-block;margin-top:10px;color:var(--muted);font-size:10px;text-decoration:underline;text-underline-offset:3px}@media(max-width:315px){.banner-ad{display:none}}
