.fm-shell{background:#f7f5f1;color:#111;min-height:100dvh;font-family:var(--font-shop-gmarket),sans-serif}.fn-main{padding-bottom:110px}.fn-map-heading,.fn-window{display:flex;align-items:center;justify-content:space-between;gap:12px}.fn-map-heading h2{font-size:22px}.fn-map-heading small{font-size:12px;color:#666}.fn-graphic{border:2px solid #111;background:white;box-shadow:6px 6px #111;margin:16px 0 28px}.fn-window{background:#dfff00;border-bottom:2px solid #111;padding:12px 16px;font-weight:800;font-size:12px}.fm-shell .fn-window button{padding:7px 10px;font-size:10px;background:white;min-height:32px}.fn-universe{position:relative;aspect-ratio:1;isolation:isolate;background-color:#111;background-image:linear-gradient(#ffffff09 1px,transparent 0),linear-gradient(90deg,#ffffff09 1px,transparent 0);background-size:24px 24px;overflow:hidden}.fn-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.fn-lines line{animation:fn-flow 8s linear infinite}.fn-orbit{position:absolute;inset:16%;border:1px dashed #dfff0070;border-radius:50%;animation:fn-orbit 70s linear infinite;pointer-events:none}.fn-host{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:21%;background:#dfff00;color:#111;border:2px solid #111;box-shadow:5px 5px #ff2a9d;display:flex;align-items:center;flex-direction:column;padding:6px;z-index:2}.fn-host .fm-portrait,.fn-node .fm-portrait{width:100%;max-width:none;margin:0;aspect-ratio:1;height:auto}.fn-host .fm-character-image,.fn-node .fm-character-image{width:100%;height:auto;margin:0}.fn-host strong{font-size:clamp(11px,2vw,18px)}.fn-host small{font-size:8px;margin-top:4px}.fm-shell button.fn-node{position:absolute;transform:translate(-50%,-50%);width:19%;padding:0;border:0;background:transparent;color:white;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:3px;z-index:3;min-height:0}.fn-node-art{display:block;width:80%;border:2px solid var(--node-color);background:#fff;box-shadow:3px 3px var(--node-color);transition:transform .2s}.fn-node:focus-visible .fn-node-art,.fn-node:hover .fn-node-art{transform:translateY(-4px)}.fn-node strong{font-size:clamp(10px,1.8vw,16px);max-width:100%;overflow-wrap:anywhere;background:#111;padding:2px 4px}.fn-node small{font-size:clamp(8px,1.2vw,11px);color:var(--node-color);background:#111}.fn-empty{position:absolute;bottom:9%;width:100%;text-align:center;color:#ddd;font-size:13px;line-height:1.8}.fn-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px}.fm-shell .fn-filters button{padding:10px 5px;font-size:11px;background:#fff;min-height:44px}.fm-shell .fn-filters button[aria-pressed=true]{background:#111;color:white}.fn-filters span{text-shadow:1px 1px #111}.fn-filters b{margin-left:5px}.fn-graphic>.fm-note,.fn-pagination{padding:0 16px 14px}.fn-pagination{display:flex;justify-content:center;align-items:center;gap:16px}.fn-box{padding:24px}.fn-box h2{font-size:21px}.fn-box p{line-height:1.8;font-size:13px}.fn-box>button{margin:8px 8px 8px 0}.fn-box form{padding:0}.fn-box form>button{width:100%}.fn-birth-form{display:flex;flex-direction:column;gap:20px;padding:24px}.fn-birth-form>label:not(.fm-check){display:flex;flex-direction:column;gap:8px;font-size:13px}.fn-birth-form input:not([type=checkbox]):not([type=radio]),.fn-birth-form select{width:100%;border:1px solid #111;padding:14px;background:#fafafa;color:#111;min-height:48px;font-size:16px}.fn-birth-form .fm-check{margin:0}.fn-birth-form small{font-weight:400;font-size:11px}.fn-birth-form a{text-decoration:underline}.fn-birth-form .fm-primary{width:100%;margin-top:8px}.fn-member-list{display:flex;flex-direction:column;gap:8px;padding-top:16px}.fn-member-list button{text-align:left}.fn-sheet{padding:0;border:2px solid #111;background:#f7f5f1;color:#111;max-width:660px;width:calc(100% - 24px);max-height:90dvh;box-shadow:6px 6px #111;font-family:var(--font-shop-gmarket),sans-serif}.fn-sheet::backdrop{background:#0009}.fn-sheet-inner{padding:24px}.fn-sheet-inner>header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #111;margin-bottom:20px;padding-bottom:14px;gap:12px}.fn-sheet h2{font-size:21px;margin:0}.fn-sheet h3{font-size:18px}.fn-sheet p{font-size:13px;line-height:1.9}.fn-sheet button{border:2px solid #111;padding:12px 16px;font-weight:700;cursor:pointer;min-height:44px}.fn-sheet header>button{font-size:22px;background:#dfff00}.fn-sheet .fn-birth-form{padding:0}.fn-settings{display:flex;flex-direction:column;gap:12px}.fn-settings button{text-align:left;background:white}.fn-settings small{display:block;font-weight:400;font-size:11px;line-height:1.7;margin-top:8px}.fn-sheet .fn-danger{color:#be1744;background:#fff0f8}.fn-detail-person{display:flex;align-items:center;gap:20px}.fn-detail-person>.fm-portrait{width:120px;flex-shrink:0;margin:0}.fn-detail-person>.fm-character-image{width:120px;height:auto}.fn-detail-person p{font-size:12px}.fn-relation-copy{border:2px solid;padding:20px;background:white;margin:20px 0}.fn-relation-copy small{font-size:11px;line-height:1.7;display:block}.fn-paid{background:#111;color:white;padding:20px}.fn-paid .fm-primary{width:100%;background:#ff2a9d;color:#111}.fn-paid small{display:block;font-weight:400;font-size:11px;margin-top:8px}.fn-paid .fn-remove{background:transparent;color:white;border-color:#999;margin-top:20px;font-size:11px}.fn-paid>a{display:block;padding:14px;border:2px solid #dfff00;color:#dfff00!important;text-align:center;font-size:13px}.fm-shell button:disabled,.fn-sheet button:disabled{opacity:.55;cursor:not-allowed}.fn-node:focus-visible,.fn-sheet button:focus-visible{outline:3px solid #ff2a9d;outline-offset:4px}.fn-paused *{animation-play-state:paused!important}@keyframes fn-flow{to{stroke-dashoffset:-25}}@keyframes fn-orbit{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.fn-lines line,.fn-orbit{animation:none}.fn-node-art{transition:none}}@media(max-width:540px){.fn-map-heading h2{font-size:17px}.fn-map-heading>button{font-size:11px;padding:9px}.fn-box{padding:16px}.fn-sheet{margin:auto auto 12px;max-height:92dvh}.fn-sheet-inner{padding:18px}.fn-filters{gap:6px;padding:10px}.fm-shell .fn-filters button{font-size:9px}.fn-window{padding:10px;font-size:10px}.fn-birth-form{padding:18px}.fn-empty{font-size:10px}}.fm-shell *{box-sizing:border-box}.fm-shell a{color:inherit;text-decoration:none}.fm-header{background:#111;color:white;display:flex;justify-content:space-between;align-items:center;padding:22px 5%;font-weight:800}.fm-header span{font-size:10px;letter-spacing:1px}.fm-header a span{color:#dfff00;margin-left:12px}.fm-main{max-width:820px;margin:auto;padding:48px 24px}.fm-heading{text-align:center;margin-bottom:38px}.fm-label{display:inline-block;background:#dfff00;border:1px solid #111;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:1px}.fm-heading h1{font-size:clamp(36px,7vw,64px);letter-spacing:-3px;line-height:1.25;margin:22px 0}.fm-heading em{font-style:normal;color:#d00072}.fm-heading p{font-size:14px;line-height:1.9}.fm-panel,.fm-person,.fm-relation{border:2px solid #111;background:white;box-shadow:6px 6px 0 #111;margin-bottom:28px}.fm-panel-title{background:#dfff00;padding:14px 20px;border-bottom:2px solid;display:flex;justify-content:space-between;gap:10px;font-size:11px}.fm-panel form,.fm-share{padding:28px}.fm-panel h2{font-size:21px;margin:0 0 24px;line-height:1.5}.fm-panel label:not(.fm-check){display:grid;gap:10px;font-size:13px;margin:18px 0}.fm-panel input:not([type=checkbox]):not([type=radio]){font:inherit;width:100%;min-height:52px;border:1px solid #111;background:#fafafa;color:#111;border-radius:0;padding:14px}.fm-panel .fm-calendar{border:1px solid #111;padding:12px;margin:20px 0;display:flex;gap:24px}.fm-panel .fm-calendar label{display:flex;align-items:center;gap:8px;margin:0}.fm-calendar input{appearance:auto;width:18px;height:18px;accent-color:#d00072}.fm-time{display:grid;gap:10px;margin:20px 0;font-size:13px}.fm-shell .time-sheet{background:#fff;color:#111;border:2px solid #111;border-radius:0;font-family:inherit;box-shadow:0 -5px #111}.fm-shell .time-sheet-header strong{text-shadow:none}.fm-shell .time-overlay{background:#0009}.fm-shell .time-trigger{width:100%;text-align:left;background:#fafafa;color:#111}.fm-shell .time-grip{background:#111}.fm-panel label.time-unknown{display:flex;align-items:center;gap:8px;justify-content:flex-end;color:#111}.fm-shell .time-wheel button{height:44px;min-height:44px;padding:0;border:0;background:transparent;color:#777;border-radius:0;font-weight:400}.fm-shell .time-wheel button.is-selected{color:#c00068;font-weight:700}.fm-shell .time-wheel-center{border-color:#ff2a9d;background:#ff2a9d0a;pointer-events:none}.fm-shell .time-sheet-actions{padding:16px 0 0;margin:12px 0 0;letter-spacing:0}.fm-shell .time-sheet-actions button{background:white;color:#111;border:2px solid #111;border-radius:0}.fm-shell .time-sheet-actions .time-confirm{background:#dfff00}.fm-check{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.8;margin:22px 0}.fm-check input{appearance:auto;width:20px;height:20px;flex-shrink:0;accent-color:#d00072;margin:0}.fm-shell button{font:inherit;cursor:pointer;border:2px solid #111;min-height:48px;background:white;padding:12px 18px;font-weight:700;color:#111}.fm-shell button:disabled{opacity:.45;cursor:not-allowed}.fm-shell .fm-primary{background:#ff2a9d;box-shadow:4px 4px #111;width:100%}.fm-details,.fm-note{font-size:11px;line-height:1.9;color:#555}.fm-cards{display:flex;gap:20px;align-items:center}.fm-person{flex:1;text-align:center;padding:28px 18px;min-width:0;background:var(--card-color)}.fm-character-image{display:block;width:260px;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f7f5f1;border:2px solid #111;margin:0 auto 20px;box-shadow:5px 5px #111}.fm-person small{font-size:12px}.fm-person h2{font-size:24px;margin:12px 0}.fm-person p{font-size:13px;line-height:1.9;margin:0}.fm-plus{font-size:26px;font-weight:900}.fm-relation{padding:30px}.fm-relation h2{font-size:32px;margin:24px 0 16px}.fm-relation p,.fm-share p{font-size:13px;line-height:1.9}.fm-mission{display:grid;gap:12px;border-left:5px solid #ff2a9d;background:#fff0f8;padding:20px;margin:24px 0}.fm-mission small{color:#bb0063;letter-spacing:2px}.fm-mission strong{font-size:16px;line-height:1.7}.fm-question{font-weight:700}.fm-share-buttons{display:grid;grid-template-columns:2fr 1fr;gap:12px}.fm-shell .fm-kakao{background:#fee500}.fm-product{padding:26px 0;margin:20px 0;border-top:2px solid}.fm-product small,.fm-product>span{font-size:11px}.fm-product a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 0}.fm-product strong{font-size:24px}.fm-product a span{font-size:12px}.fm-product small{color:#555}.fm-details{padding:16px 0;border-top:1px solid #aaa}.fm-details summary{cursor:pointer;font-weight:700}.fm-details a{text-decoration:underline}.fm-status{border:1px solid #111;padding:16px;background:#fff0f8;font-size:13px;line-height:1.8}.fm-shell .fm-reset{border:0;background:transparent;font-size:12px;text-decoration:underline;margin-top:12px}.fm-main footer{font-size:9px;letter-spacing:1px;text-align:center;padding:40px 0 8px}.fm-shell :focus-visible{outline:3px solid #ae0060;outline-offset:4px}@media (max-width:540px){.fm-main{padding:32px 18px}.fm-header{padding:18px}.fm-header a span{display:none}.fm-cards{gap:8px}.fm-person{padding:20px 10px;box-shadow:3px 3px #111}.fm-character-image{width:200px}.fm-person h2{font-size:18px}.fm-person p{font-size:11px}.fm-plus{font-size:18px}.fm-panel form,.fm-relation,.fm-share{padding:22px}.fm-relation h2{font-size:28px}.fm-share-buttons{grid-template-columns:1fr}.fm-panel-title{padding:12px;font-size:9px}}.fm-result{margin:0 0 28px;scroll-margin-top:18px}.fm-result img{display:block;width:100%;height:auto;box-shadow:5px 5px #111;margin-bottom:20px}.fm-result>button{width:100%;background:#ff2a9d;box-shadow:4px 4px #111}.fm-next{margin:28px 0;padding:24px;background:white;border:2px solid #111;box-shadow:5px 5px #111}.fm-next h2{font-size:24px;line-height:1.5;margin:18px 0}.fm-next-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fm-next-grid>a,.fm-next-grid>button{display:flex;flex-direction:column;gap:0;text-align:left;padding:0;border:2px solid #111;background:#fff0f8;min-width:0;overflow:hidden;box-shadow:3px 3px #111;color:#111;text-decoration:none}.fm-next-grid>a:first-child{background:#dfff00}.fm-next-grid>button{background:#fff;color:#111}.fm-next-grid img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-bottom:2px solid #111;image-rendering:pixelated}.fm-next-grid .fm-action-copy{display:flex;flex-direction:column;gap:6px;padding:14px}.fm-couple-feature{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;margin:0 0 28px;border:2px solid #111;box-shadow:5px 5px #111;background:#fff0f8;color:#111;text-decoration:none;overflow:hidden}.fm-couple-feature>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-right:2px solid #111;image-rendering:pixelated}.fm-couple-copy{display:flex;flex-direction:column;gap:12px;padding:24px}.fm-couple-copy strong{font-size:clamp(20px,4vw,32px)}.fm-couple-copy small{font-size:12px}.fm-couple-copy>span{font-size:14px}.fm-couple-feature:focus-visible,.fm-next-grid>a:focus-visible,.fm-next-grid>button:focus-visible{outline:3px solid #ff2a9d;outline-offset:5px}.fm-next-grid strong{font-size:15px;line-height:1.5}.fm-next-grid small,.fm-next-grid span{font-size:11px;line-height:1.7;font-weight:400}.fm-next-help{padding:20px;margin-top:20px;background:#f7f5f1;border-left:4px solid #ff2a9d}.fm-next-help h3{font-size:16px}.fm-next-help p{font-size:12px;line-height:1.9}.fm-next-help a{display:block;background:#ff2a9d;border:2px solid #111;padding:14px;font-weight:700;font-size:13px}@media(max-width:420px){.fm-next{padding:14px}.fm-next-grid{gap:10px}.fm-next-grid .fm-action-copy{padding:10px}.fm-next-grid strong{font-size:13px}.fm-couple-copy{padding:12px;gap:8px}.fm-couple-copy small{font-size:10px}.fm-couple-copy>span{font-size:12px}}.fm-share-buttons.fm-invite-only{grid-template-columns:1fr}.fm-invite-only>button{width:100%}.fm-share-buttons+p,.fm-shell button+p{margin-top:18px}.fm-panel form{padding-bottom:32px}.fm-result{padding-bottom:8px}.fm-check a{text-decoration:underline;text-underline-offset:3px}#friend-privacy{scroll-margin-top:24px}#friend-privacy:target{outline:2px solid #d00072;outline-offset:6px}.fm-portrait{position:relative;width:100%;max-width:320px;aspect-ratio:1;margin:0 auto 24px;border:2px solid #111;box-shadow:5px 5px #111;overflow:hidden}.fm-portrait-back{position:absolute;inset:0;width:100%;height:100%}.fm-portrait-sprite{position:absolute;left:10%;top:6.875%;width:80%;height:80%;object-fit:contain}.fm-portrait-emblem{position:absolute;left:65.625%;top:66.875%;width:28.125%;height:25.625%}.fm-combination{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:16px}.fm-combination>span{padding:5px 8px;background:#fff;border:1px solid #111;font-size:11px}.fm-combination>p{flex-basis:100%;margin-top:8px}.fm-collection-link{display:inline-block;border-bottom:2px solid #ff2a9d;padding:8px 0;font-size:12px}.fm-collection-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.fm-collection-controls label{display:grid;gap:8px;font-size:12px}.fm-collection-controls select{width:100%;min-width:0;border:2px solid #111;background:#fff;padding:12px 5px;font:inherit}.fm-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}.fm-collection-grid button{background:white;border:2px solid #111;padding:12px;text-align:center;color:#111;font:inherit;cursor:pointer}.fm-collection-grid button[aria-pressed=true]{background:#dfff00}.fm-collection-grid .fm-portrait{margin-bottom:12px}@media(min-width:700px){.fm-collection-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:540px){.fm-portrait{max-width:260px}.fm-cards:has(>.fm-plus){flex-direction:column}.fm-collection-controls{grid-template-columns:1fr 1fr}.fm-collection-controls label:first-child{grid-column:1/-1}.fm-collection-grid button{font-size:12px}}.fn-host{gap:8px;min-width:0;text-align:center}.fn-host>.fm-character-image,.fn-host>.fm-portrait{flex-shrink:0;margin-bottom:4px}.fn-host>strong,.fn-node>strong{max-width:100%;overflow-wrap:anywhere}.fn-host>small,.fn-host>strong,.fn-node>small,.fn-node>strong{display:block;margin:0;line-height:1.5}.fm-shell button.fn-node{gap:8px}.fn-node-art{flex-shrink:0}.fn-join-actions{display:flex;flex-direction:column;gap:10px}.fn-join-actions>.fm-primary{order:0;width:100%}.fm-shell button.fn-join-skip{order:1;align-self:center;background:transparent;border:0;box-shadow:none;padding:10px 12px;min-height:44px;font-size:14px;font-weight:400;text-decoration:underline;text-underline-offset:3px;color:#444}.fn-share-notice{font-size:13px;line-height:1.7;margin:0}.fm-character-story{margin:24px 0;padding:22px;border:2px solid #111;background:#fff;box-shadow:4px 4px #111;color:#111;text-align:left;overflow-wrap:anywhere}.fm-character-story h3{margin:8px 0 12px;font-size:22px}.fm-character-story>strong{display:inline-block;background:#e1ff00;padding:5px 9px;border:1px solid #111}.fm-character-story li,.fm-character-story p{font-size:14px;line-height:1.9}.fm-character-story details{border-top:1px solid #ddd;padding-top:12px;margin:16px 0}.fm-character-story summary{cursor:pointer;font-size:13px;font-weight:800}.fm-character-story summary:focus-visible{outline:2px solid #bc005e;outline-offset:4px}.fm-character-story>small{display:block;font-size:11px;color:#555;line-height:1.7}.fm-shell{color-scheme:light}body:has(.fm-shell),html:has(.fm-shell){color-scheme:light;background:#fff}@keyframes fm-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:no-preference){.fm-person>.fm-portrait .fm-portrait-sprite{animation:fm-float 5s ease-in-out infinite}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.fm-collection-grid button{transition:transform .15s ease}.fm-collection-grid button:hover{transform:translateY(-3px)}}