:root{--glass:linear-gradient(135deg,#ffffffb8,#ffffff59 55%,#f3f6ff87);--glass-line:#ffffffca;--glass-shadow:0 8px 32px #28385115,inset 0 1px 1px #fff,inset 0 -1px 1px #ffffff70;--ink:#283342;--muted:#8992a0;--line:#e2e5ec;--rose:#6689bd}
#planet-viewport,#planet-viewport *{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#planet-viewport .globe-card{will-change:auto}
#planet-viewport .globe-card:not(.preview-ready):not(.image-error){opacity:0;pointer-events:none}
.planet-view .brand{display:inline-flex;align-items:center;gap:8px;line-height:1}
.instagram-icon{width:22px;height:22px;flex-shrink:0;stroke-width:2.2;transform:translateY(1px)}
.planet-view .saved-view .saved-heart{font-size:20px;line-height:1}
#planet-viewport.dragging .globe-caption{display:none}
@media(max-width:800px){.planet-view .planet-tools button{width:44px;height:44px}.planet-view .planet-tools{bottom:151px}.planet-view .planet-location{bottom:216px}}
.planet-view{background:#e9edf4;height:100dvh;overflow:hidden;color:var(--ink);font-family:'Noto Sans KR',sans-serif}.planet-view header{position:fixed;inset:0 0 auto;height:76px;max-width:none;padding:0 30px;z-index:6;pointer-events:none;background:linear-gradient(#f3f5fa9c,transparent)}.planet-view header>*{pointer-events:auto}.planet-view .brand{font-size:19px;letter-spacing:-.9px;color:#354052}.planet-view .saved-view,.planet-view .moods,.planet-tools,.planet-location,.planet-hint,.planet-bottom-links,.globe-label,.planet-view #search-form,.planet-search-row>#filter-toggle,#planet-filters{background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);backdrop-filter:blur(24px) saturate(1.55);-webkit-backdrop-filter:blur(24px) saturate(1.55)}.planet-view .saved-view{border-radius:28px;padding:11px 16px;color:#596475;font-size:12px}.planet-view .saved-view b{background:#e0e8f566;color:#6285b9}.planet-view .saved-view[aria-pressed=true]{background:linear-gradient(135deg,#eff5ffff,#c6daf5b0);color:#365c99;border-color:#ffffff}.planet-view main{padding:0;max-width:none}
#planet-viewport{position:fixed;inset:0;overflow:hidden;cursor:grab;touch-action:none;background:radial-gradient(ellipse at 35% 25%,#fbfbfd,#dee4ef);z-index:0;outline-offset:-5px}#planet-viewport.dragging{cursor:grabbing}#globe-canvas,#globe-cards,#globe-labels{position:absolute;inset:0;pointer-events:none}#globe-canvas canvas{display:block}#globe-cards{z-index:2}#globe-labels{z-index:3}.globe-card{pointer-events:auto;position:absolute;left:0;top:0;border:var(--border,3px) solid #fffffff0;border-radius:50%;padding:0;background:#fdfdff;box-shadow:0 5px 20px #34476524;will-change:transform}.globe-card img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}.globe-card:hover,.globe-card:focus-visible{outline:3px solid #759de0;outline-offset:3px;z-index:400!important}.globe-card i{position:absolute;bottom:0;right:0;font-size:8px;background:#ffffffda;border:1px solid #fff;padding:2px 4px;border-radius:5px;font-style:normal;color:#7d8799}.globe-card.small i{display:none}.globe-caption{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:#ffffffed;padding:6px 10px;border-radius:8px;color:#47546a;font-size:11px;box-shadow:0 4px 12px #28384d18;pointer-events:none}.globe-card:hover .globe-caption,.globe-card:focus-visible .globe-caption{display:block}.globe-card.image-error:after{content:'♡';position:absolute;inset:0;display:grid;place-items:center;color:#b3c0d6;font-size:22px}.globe-card.search-match{outline:4px solid #7ba7ed;outline-offset:4px;box-shadow:0 0 0 9px #e4efffb5,0 5px 20px #355b9d30}.globe-card.outside-match{filter:saturate(.8)}.globe-label{position:absolute;left:0;top:0;padding:7px 12px;border-radius:20px;font-family:Jua,sans-serif;font-size:13px;color:#6a778e;white-space:nowrap;pointer-events:auto}
.planet-intro{position:absolute;left:30px;top:145px;z-index:3;pointer-events:none;padding:12px 18px;background:#ffffff73;border:1px solid #ffffffa6;border-radius:20px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 4px 20px #28395108}.planet-intro .eyebrow{font-size:8px;letter-spacing:1.7px;color:#8694ad;margin:0 0 6px}.planet-intro h1{font-size:26px;letter-spacing:-.7px}.planet-intro h1 span{color:#7189af}.planet-intro>p:last-child{font-size:10px;color:#8a96aa;margin:6px 0 0}.planet-view .collection{padding:0;border:0}.planet-view .moods{position:fixed;z-index:5;top:85px;left:50%;transform:translateX(-50%);max-width:calc(100% - 48px);width:max-content;padding:6px;margin:0;border-radius:32px;gap:3px;flex-wrap:nowrap;overflow:auto;scrollbar-width:none}.planet-view .moods button{font-size:11px;white-space:nowrap;padding:10px 13px;border-radius:26px;color:#75829a}.planet-view .moods button:hover{background:#ffffff70}.planet-view .moods button.selected{background:linear-gradient(135deg,#94b6e1cf,#5f87c5df);color:#fff;text-shadow:0 1px 2px #22457c33;box-shadow:inset 0 1px 1px #ffffffb5,0 3px 10px #557cbb27}.planet-view .grid,.planet-view .results-heading,.planet-view .collection-end,.planet-view footer{display:none}.planet-location{position:fixed;bottom:138px;left:30px;display:flex;align-items:center;gap:8px;font-size:10px;color:#7f8aa0;z-index:4;padding:8px 13px;border-radius:20px}.location-dot{width:6px;height:6px;background:#8baae1;border-radius:50%;box-shadow:0 0 8px #8baae150}.planet-tools{position:fixed;bottom:134px;right:30px;display:flex;gap:4px;align-items:center;border-radius:22px;padding:7px;z-index:5}.planet-tools button{width:34px;height:34px;font-size:23px;border-radius:15px;padding:0;color:#64728a}.planet-tools button:hover{background:#ffffff8c}.planet-tools>span{width:1px;height:19px;background:#aab5c43d}.planet-tools output{width:50px;font-size:10px;text-align:center;font-variant-numeric:tabular-nums;color:#8b96aa}.planet-hint{position:fixed;bottom:140px;left:50%;transform:translateX(-50%);padding:7px 13px;border-radius:20px;color:#8b97aa;font-size:9px;white-space:nowrap;z-index:4;pointer-events:none}.planet-hint span{margin:0 9px}.planet-bottom{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(610px,calc(100% - 36px));z-index:5}.planet-view #search-form{border-radius:40px;padding:7px 7px 7px 22px;gap:12px}.planet-view #search-form>span{font-size:29px;color:#91a2bd}.planet-view #query{font-size:12px;color:#3b4960;padding:14px 0}.planet-view #query::placeholder{color:#9aa7ba}.planet-view #search-form button{border:1px solid #ffffffb5;border-radius:30px;background:linear-gradient(135deg,#a9c4eaa8,#799dd9cf);box-shadow:inset 0 1px 2px #ffffffae,0 4px 10px #6783b129;padding:14px 21px;color:#fff;font-size:12px;font-weight:600}.planet-view #search-form button:hover{background:#6f96d2}.planet-bottom-links{display:flex;gap:28px;justify-content:center;width:max-content;padding:8px 17px;border-radius:24px;margin:10px auto 0;color:#8793a9;font-size:10px}.planet-bottom-links button:hover{color:#526f9d}
#planet-filters{position:fixed;left:50%;bottom:132px;transform:translateX(-50%);z-index:7;width:min(680px,calc(100% - 32px));padding:23px;border-radius:26px;background:linear-gradient(135deg,#ffffffe8,#eef3fbe0)}#planet-filters .filter-top{display:block}#planet-filters .characters{justify-content:center;gap:7px}#planet-filters .characters button{background:#ffffff70;border-color:#fff;color:#78869d}#planet-filters .characters .selected{background:#829dcc;color:#fff}#planet-filters .random{display:block;margin:17px auto;color:#8291ab}#planet-filters .formats{justify-content:center;margin:0}#planet-filters .formats button{background:#ffffff70;border-color:#fff}#planet-filters .formats .selected{background:#d8e4f8;color:#5b7db4}.planet-view .empty{position:fixed;top:40%;left:50%;transform:translateX(-50%);z-index:4;width:300px;padding:23px;background:#ffffffdd;backdrop-filter:blur(20px);border:1px solid #fff;border-radius:25px}.planet-view .empty>span{color:#9eb3d5;font-size:28px}.planet-view .empty h3{font-size:14px}.planet-view .empty p{font-size:11px}.planet-view .empty button{background:#e0eafd;color:#6d87ae}.planet-view .toast{bottom:132px;z-index:10;background:#435470dd;backdrop-filter:blur(20px)}#globe-error{position:absolute;top:40%;left:20%;right:20%;text-align:center;padding:25px;background:#ffffffed;border-radius:20px;z-index:4}
.planet-list{height:auto;min-height:100dvh;overflow:auto;background:#f4f6fa}.planet-list #planet-viewport,.planet-list .planet-intro,.planet-list .planet-location,.planet-list .planet-tools,.planet-list .planet-hint{display:none}.planet-list main{max-width:1280px;margin:auto;padding:166px 34px 165px}.planet-list header{background:#f4f6fae8;backdrop-filter:blur(20px)}.planet-list .grid{display:block;columns:4;column-gap:18px}.planet-list .results-heading{display:flex}.planet-list .results-heading #result-count{color:#7e9ac3}.planet-list .results-heading h2{font-size:20px}.planet-list .card{border:1px solid #fff;box-shadow:0 4px 20px #3c527608}.planet-list .empty{position:static;transform:none;margin:auto}.planet-list .favorite[aria-pressed=true]{color:#7e9ed3}.planet-list .planet-bottom{background:#f4f6fa9c;border-radius:35px;backdrop-filter:blur(15px)}.planet-saved main{padding-top:110px}.planet-saved .moods{display:none}.planet-saved .results-heading h2{font-size:25px}.planet-saved .results-heading p{display:none}.planet-view dialog{background:#f7f9fe;border:1px solid #ffffffdd;border-radius:28px}.planet-view dialog::backdrop{background:#14243d50;backdrop-filter:blur(14px)}.planet-view .detail-actions>*{background:#e8edf6;color:#75839b;border:1px solid #fff}.planet-view .detail-actions a{background:#c8d9f4;color:#4e709f}.planet-view .detail-tags{color:#8a9ebd}
@media(min-width:1500px){.planet-view .moods{top:24px;max-width:calc(100% - 560px)}.planet-intro{top:100px}}
@media(max-width:800px){.planet-view header{height:64px;padding:0 18px}.planet-view .brand{font-size:17px}.planet-view .saved-view{font-size:10px;padding:10px 12px}.planet-view .moods{top:72px;max-width:calc(100% - 30px);padding:5px;gap:1px}.planet-view .moods button{font-size:10px;padding:9px 11px}.planet-intro{left:18px;top:133px;padding:10px 14px}.planet-intro h1{font-size:22px}.planet-intro>p:last-child{display:none}.planet-location{left:18px;bottom:155px;font-size:9px;padding:7px 9px}.planet-tools{right:18px;bottom:151px;padding:5px;gap:1px}.planet-tools button{width:28px;height:30px;font-size:20px}.planet-tools output{width:40px;font-size:9px}.planet-hint{bottom:121px;font-size:8px;padding:5px 9px}.planet-bottom{bottom:14px}.planet-view #search-form{padding-left:17px;gap:7px}.planet-view #query{font-size:11px}.planet-view #search-form button{font-size:10px;padding:14px 13px}.planet-bottom-links{font-size:9px;gap:24px}.globe-label{font-size:11px;padding:5px 9px}.planet-list main{padding:140px 18px 160px}.planet-list .grid{columns:2;column-gap:12px}.planet-saved main{padding-top:98px}.planet-list .results-heading h2{font-size:17px}.planet-saved .results-heading h2{font-size:20px}#planet-filters .characters{flex-wrap:wrap;overflow:visible}.planet-view .empty{top:36%}}

/* One search row, with a plain instruction above it. */
/* Viewport units keep the search row still when list view adds a scrollbar. */
.planet-bottom{left:50vw;bottom:max(24px,env(safe-area-inset-bottom));width:min(900px,calc(100vw - 36px))}
.planet-bottom .planet-hint{position:static;transform:none;margin:0 0 12px;padding:0;text-align:center;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:11px;color:#728096}
.planet-search-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:stretch;--search-row-height:56px}
.planet-view .planet-search-row #search-form{width:100%;max-width:none;height:var(--search-row-height);margin:0;padding:5px 5px 5px 18px;gap:10px}
.planet-search-row>#filter-toggle{display:flex;justify-content:center;align-items:center;gap:8px;height:var(--search-row-height);min-height:var(--search-row-height);padding:8px 6px;font-size:12px;line-height:1;color:#566780;white-space:nowrap;border-radius:40px}
.planet-view .planet-search-row #query{height:100%;min-width:0;padding:0;line-height:1.5}
.planet-search-row>#filter-toggle:hover,.planet-search-row>#filter-toggle[aria-expanded=true]{color:#365c99}
.header-actions{display:flex;align-items:center;gap:8px}
.planet-view .header-actions>*{min-height:44px}
.planet-view #list-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-width:44px;padding:10px 14px;border-radius:28px;color:#596475;font-size:12px;white-space:nowrap;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);backdrop-filter:blur(24px) saturate(1.55);-webkit-backdrop-filter:blur(24px) saturate(1.55)}
.planet-view #list-toggle>span:first-child{font-size:22px;line-height:1}
.planet-view #list-toggle:hover,.planet-view #list-toggle[aria-pressed=true]{background:linear-gradient(135deg,#eff5ffff,#c6daf5b0);color:#365c99;border-color:#fff}
.planet-search-row #character-label{max-width:90px;overflow:hidden;text-overflow:ellipsis}
.planet-view #search-form button{padding:13px 17px}
#planet-filters{bottom:108px}
.planet-tools{bottom:112px}
.planet-list .planet-bottom{background:none;border-radius:0;backdrop-filter:none}
.planet-list main{padding-bottom:130px}
@media(max-width:800px){
  .planet-bottom{bottom:max(16px,env(safe-area-inset-bottom));width:calc(100vw - 24px)}
  .planet-bottom .planet-hint{font-size:9px;margin-bottom:9px}
  .planet-search-row{grid-template-columns:72px minmax(0,1fr);gap:5px}
  .planet-search-row>#filter-toggle{font-size:10px;gap:3px;padding:6px 2px}
  .planet-search-row #character-label{max-width:58px}
  .header-actions .view-label{display:none}
  .planet-view #list-toggle{width:44px;padding:8px}
  .planet-view .planet-search-row #search-form{padding:5px 5px 5px 10px;gap:5px}
  .planet-view #search-form>span{font-size:21px}
  .planet-view #search-form button{font-size:10px;padding:12px 9px}
  .planet-view #query{font-size:16px;padding:12px 0}
  .planet-tools{display:none}
  .planet-view .planet-tools button{width:40px;height:40px}
  #planet-filters{bottom:100px;padding:18px}
  .planet-list main{padding-bottom:115px}
}
/* Keep touch inputs readable so iOS does not zoom the page on focus, including landscape. */
@media(pointer:coarse){.planet-view #query{font-size:16px}}

/* Controls must not start a browser pinch zoom over the planet. */
.planet-view:not(.planet-list) .planet-bottom,.planet-view:not(.planet-list) .moods,.planet-view:not(.planet-list) header{touch-action:pan-x pan-y}

.planet-view .header-actions{align-items:center}.planet-view .header-actions>button{height:44px;min-height:44px;box-sizing:border-box;line-height:1}.planet-view #list-toggle svg{display:block;flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.planet-view #search-form button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0}
.planet-view #search-form button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
