/* Mist-blue countryside storybook skin. Layout and interaction stay in style.css. */
:root{
  --paper:#fbfcf7;
  --sea:#dcecf2;
  --sea2:#c8e0e8;
  --ink:#29485b;
  --muted:#718a93;
  --red:#eb6b57;
  --yellow:#f3d990;
  --blue:#4d7f96;
  --moss:#759273;
  --moss-dark:#527052;
  --line:rgba(56,91,105,.22);
  --shadow:#5d7a84
}
html,body{background:#bdd3dc}
body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
.app-shell{
  background-color:var(--sea);
  background-image:
    radial-gradient(circle at 13% 16%,rgba(255,255,255,.5) 0 1px,transparent 1.5px),
    radial-gradient(circle at 78% 43%,rgba(77,127,150,.055) 0 1px,transparent 1.5px),
    linear-gradient(115deg,rgba(255,255,255,.13),transparent 38% 70%,rgba(82,137,157,.045));
  background-size:13px 13px,17px 17px,100% 100%
}
.app-shell::before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;opacity:.4;background:repeating-linear-gradient(3deg,transparent 0 22px,rgba(69,107,119,.018) 23px 24px)}
.app-shell::after{opacity:.09;background-size:7px 7px;mix-blend-mode:multiply}
.topbar{height:74px;background:rgba(231,244,247,.94);border-bottom:1px solid rgba(63,101,116,.18);box-shadow:0 2px 9px rgba(65,101,112,.05)}
.brand{gap:10px}
.brand>span{width:38px;height:38px;background:#ef715e;border:1px solid rgba(163,67,53,.24);box-shadow:inset 0 0 0 3px rgba(255,246,231,.58),0 2px 0 rgba(103,73,60,.09);font-family:"Kaiti SC","STKaiti",serif;transform:rotate(-5deg)}
.brand b{color:#28475a;font-weight:900;letter-spacing:.01em}.brand small,.wallet small{color:#708891}.wallet strong{color:#29485b}
.view{z-index:2}.view.active{animation:viewIn .2s ease-out both}
.page-heading h2,.trend-board h1,.section-title h2,.first-step h1,.empty-box b,.string-heading h2,.clean-heading h2,.open-copy h2,.day-sheet h2{font-family:"Kaiti SC","STKaiti","Songti SC",serif;letter-spacing:.01em}
.page-heading small,.dayline,.section-title small{color:#4d7f96}.page-heading>span{border-color:#426476;background:rgba(248,252,248,.45)}
.trend-board,.first-step{border-color:#426273;box-shadow:4px 5px 0 rgba(52,80,91,.72);background:#fbfcf6}
.trend-board{transform:rotate(-.25deg)}
.trend-board::before{content:"";position:absolute;left:14px;top:-6px;width:42px;height:13px;background:rgba(244,221,153,.72);transform:rotate(-3deg)}
.trend-board::after{border-color:rgba(77,127,150,.35)}
.first-step{background:#f5dc93}.first-step>span{background:#ec715d;border-radius:3px}.first-step::after{color:rgba(41,72,91,.13)}
.quick-stats button,.work-card,.choice-guide,.empty-box,.stock-card,.pearl-card,.jewelry-card,.order-card,.recipe{background:rgba(251,252,247,.9);border-color:rgba(52,82,94,.27);box-shadow:0 3px 0 rgba(72,104,113,.07)}
.quick-stats button{border-radius:12px}.quick-stats small{color:var(--moss-dark)}
.section-title>span{background:#f3d990;border-color:#4f6b74;border-radius:3px}
.work-card{border-radius:13px}.work-card:active{transform:translateY(2px)}.work-icon,.work-emoji{background:#cce3e8;color:#3e6878}.live-card{background:#fff4ec}.live-dot{background:#ec705d}
.shell-mini::before{border-color:#4a6d77;background:radial-gradient(circle at 32% 24%,#f2f4e7 0 8%,transparent 9%),linear-gradient(145deg,#cbd9c9,#7f9992)}
.tomorrow-note{border-top-color:rgba(78,120,134,.34)}.end-day,.rescue-button{border-color:#456575;border-radius:11px}.rescue-button{background:#f3d990}.legal-note{color:#7b9197}

/* Market: same list, now illustrated and tactile. */
.market-list{gap:11px}.market-item{overflow:hidden;border-color:rgba(55,91,105,.4);border-radius:14px;background:rgba(251,252,247,.93);box-shadow:0 4px 0 rgba(61,91,101,.07)}
.market-item::after{content:"";position:absolute;right:14px;top:12px;width:8px;height:12px;border:1.5px solid rgba(94,154,176,.26);border-radius:55% 45% 60% 40%;transform:rotate(28deg);pointer-events:none}
.market-item.sold{opacity:.56;filter:saturate(.7)}
.market-shell{overflow:hidden;border-color:rgba(75,116,130,.2);border-radius:11px;background-color:#f8fbf7;background-image:linear-gradient(rgba(83,132,151,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(83,132,151,.1) 1px,transparent 1px);background-size:18px 18px;box-shadow:inset 0 0 18px rgba(80,132,148,.04)}
.market-shell::before{width:66px;height:82px;border:1.5px solid rgba(53,79,84,.72);border-radius:52% 48% 45% 55%/61% 58% 42% 39%;background:radial-gradient(ellipse at 32% 19%,rgba(255,255,255,.72) 0 7%,transparent 8%),repeating-radial-gradient(ellipse at 50% 15%,transparent 0 12px,rgba(255,255,255,.16) 13px 15px,transparent 16px 21px),linear-gradient(145deg,var(--shell-light),var(--shell-dark));box-shadow:inset -8px -10px 14px rgba(38,65,71,.17),2px 5px 5px rgba(55,73,69,.16);filter:saturate(.72) brightness(1.06)}
.market-shell::after{content:"";position:absolute;left:8px;bottom:8px;width:24px;height:7px;border:1px solid rgba(65,134,158,.35);border-radius:50%;box-shadow:9px 3px 0 -1px rgba(65,134,158,.2);transform:rotate(-7deg)}
.market-title b{color:#29485b;font-weight:900}.market-title strong{color:#ed715d}.clues span{border:1px solid rgba(87,132,146,.08);border-radius:6px;background:#ddecf1;color:#58727c}.seller-note{color:#537f90}
.buy-button{border:1px solid rgba(168,67,51,.14);border-radius:9px;background:#eb6b57;box-shadow:inset 0 -2px 0 rgba(135,49,38,.13);letter-spacing:.02em}.buy-button:disabled{background:#b9ced6;color:rgba(255,255,255,.9);box-shadow:inset 0 0 0 1px rgba(68,102,113,.05)}

/* Inventory, orders and workshop. */
.segmented{background:rgba(64,107,122,.1);border:1px solid rgba(65,104,116,.08);border-radius:11px}.segmented button{border-radius:8px}.segmented button.active{background:#fbfcf7;color:#315267}
.stock-card,.pearl-card,.jewelry-card,.order-card{border-radius:13px}.stock-visual,.product-art{filter:saturate(.82)}.stock-actions button,.mini-sell,.order-card button,.recipe button{border-radius:8px}.stock-actions .open-btn,.order-card button,.recipe button{background:#eb6b57}.stock-actions button:not(.open-btn),.mini-sell{border-color:rgba(57,93,105,.34);color:#456979}
.pearl-card .pearl-dot{box-shadow:inset -5px -6px 9px rgba(48,66,72,.13),0 3px 5px rgba(48,72,78,.13),0 0 0 2px rgba(255,255,255,.55)}
.pearl-dot.baroque{position:relative;width:var(--baroque-w);height:var(--baroque-h);max-width:none;max-height:none;border:0;border-radius:0;background:transparent url("./images/pearl-baroque-watercolor-320.png") center/contain no-repeat!important;box-shadow:none!important;filter:drop-shadow(0 3px 3px rgba(55,78,82,.18)) var(--baroque-tint);transform:rotate(-8deg)}
.pearl-dot.baroque::after{display:none}
.product-beads .baroque-bead{border:0!important;border-radius:0!important;background:transparent url("./images/pearl-baroque-watercolor-320.png") center/contain no-repeat!important;box-shadow:none!important;filter:drop-shadow(0 2px 2px rgba(55,78,82,.18)) var(--baroque-tint);transform:rotate(-9deg) scale(var(--art-scale,1))!important}
.order-card::before{background:#f3d990}.order-note{color:#577f8d}
.workshop-view{background:#deedf1;color:#29485b}.workshop-heading>span{background:#759273}.workshop-view .page-lede{color:#728991}.workshop-view .pearl-picker{background:rgba(246,251,248,.72);border-color:rgba(63,105,119,.13)}
.workshop-view .pick-pearl{border-color:rgba(57,94,106,.15);background:#f8fbf7;box-shadow:0 4px 12px rgba(61,92,101,.06)}.workshop-view .pick-pearl.selected{border-color:#6c8d6c;background:#f8f6df;box-shadow:inset 0 -4px 0 #759273,0 5px 13px rgba(64,92,76,.1)}
.recipe-heading b,.workshop-view .recipe b{color:#29485b}.recipe-heading small,.workshop-view .recipe small{color:#789099}.workshop-view .recipe{border-color:rgba(55,91,105,.18);background:#fbfcf7;box-shadow:0 5px 15px rgba(61,92,101,.07)}
.workshop-view .recipe>.product-art{background:#dce9e5;box-shadow:0 7px 17px rgba(54,83,88,.1),inset 0 0 0 1px rgba(55,91,105,.08)}.workshop-view .recipe button{background:#eb6b57}.workshop-view .recipe button:disabled,.workshop-view .recipe button.is-blocked{background:#c5d4d5;color:#eef4f2}

/* Hammering: cool cloth mat and friendlier illustrated shell. */
.open-view{background:#deedf1}.open-copy small{border-color:#4b6d79;border-radius:4px;background:#f3d990}.open-copy h2{color:#29485b}
.open-stage{background-color:#d5e8eb;background-image:linear-gradient(rgba(70,123,140,.085) 1px,transparent 1px),linear-gradient(90deg,rgba(70,123,140,.085) 1px,transparent 1px),radial-gradient(ellipse at 50% 73%,rgba(49,88,97,.12),transparent 43%)}.open-stage::before{color:rgba(53,102,116,.42)}
.game-oyster{filter:drop-shadow(0 11px 8px rgba(48,77,80,.17))}.game-shell{border-color:#4d696e;background:radial-gradient(ellipse at 31% 20%,rgba(255,255,255,.38) 0 7%,transparent 8%),repeating-radial-gradient(ellipse at 50% 6%,transparent 0 18px,rgba(255,255,255,.1) 19px 22px,transparent 23px 30px),linear-gradient(145deg,#c8d6cb,#849b93 68%,#637b78);box-shadow:inset -15px -12px 22px rgba(53,75,73,.18),5px 7px 0 rgba(39,68,74,.12)}
.game-shell-bottom{background:repeating-radial-gradient(ellipse at 50% 96%,transparent 0 18px,rgba(127,91,83,.09) 19px 22px,transparent 23px 30px),linear-gradient(12deg,#99aaa3,#e7d7cc 54%,#f4e9dc)}
.game-oyster.broken{animation:brokenNudge .32s ease-out both;filter:grayscale(.38) drop-shadow(0 9px 7px rgba(48,77,80,.15))}.game-oyster.broken .game-shell-top{transform:translate(7px,9px) rotate(8deg)}.game-oyster.broken .game-shell-bottom{transform:translate(-5px,2px) rotate(-5deg)}.game-oyster.broken .hammer-surface{pointer-events:none}
@keyframes brokenNudge{25%{transform:translateX(-5px) rotate(-3deg)}60%{transform:translateX(4px) rotate(1deg)}100%{transform:rotate(-2deg)}}
.broken-shell-message{display:flex;flex-direction:column;align-items:center;padding:8px 8px 4px;text-align:center}.broken-shell-message>span{display:grid;place-items:center;width:54px;height:54px;border:1.5px solid #a84b3e;border-radius:50%;background:#f6d5c7;color:#a84b3e;font:900 24px "Kaiti SC","STKaiti",serif;transform:rotate(-6deg)}.broken-shell-message b{margin-top:10px;color:#934538;font:900 20px "Kaiti SC","STKaiti",serif}.broken-shell-message small{margin-top:5px;color:#718a93;font-size:9px;line-height:1.5}
.hammer-panel{border-radius:14px;background:rgba(251,252,247,.9);border-color:rgba(52,84,94,.31);box-shadow:0 4px 0 rgba(59,87,96,.08)}.small-hammer{background:#f3d990}.damage-track{background:#c7dce1}.damage-track i{background:#eb6b57}
.open-view .plain-back,.string-view .plain-back{border-color:rgba(55,91,105,.2);background:rgba(248,252,248,.95);color:#45616d;box-shadow:0 4px 10px rgba(52,83,91,.1)}.open-view .plain-back::before,.string-view .plain-back::before{background:#52798a}

/* Cleaning and stringing keep their tangible tables, color-matched to the blue skin. */
.clean-view{color:#344e59;background:#deedf1}.clean-view::before{border-top-color:rgba(64,96,103,.18);background:repeating-linear-gradient(1deg,rgba(85,114,111,.045) 0 1px,transparent 1px 31px),linear-gradient(94deg,rgba(82,119,119,.06),transparent 22% 70%,rgba(82,119,119,.055)),#c9d6c9}
.clean-heading small{color:#547f91}.clean-heading h2{color:#29485b}.clean-heading p{color:#718790}.clean-progress{color:#607982}.clean-progress>div{background:rgba(64,104,116,.13)}.clean-progress i{background:#eb6b57}
.clean-surface{border-color:#9e8060;background-color:#ccdcda;box-shadow:inset 0 0 0 2px rgba(248,251,235,.7),inset 0 9px 24px rgba(59,90,91,.08),0 9px 16px rgba(61,82,75,.15)}
.clean-note{border-color:rgba(60,101,114,.17);background:rgba(246,251,247,.78)}.clean-note span{background:#a9c9cd;color:#34545f}.clean-note p{color:#647c84}.finish-clean{background:#eb6b57;box-shadow:0 4px 0 #a64b3d}.finish-clean:disabled{background:#b9cdd1;color:#edf3f2}
.string-view{color:#344e59;background:#deedf1}.string-view::before{border-top-color:rgba(66,95,100,.18);background:repeating-linear-gradient(2deg,rgba(75,104,100,.04) 0 1px,transparent 1px 29px),linear-gradient(98deg,rgba(76,110,107,.055),transparent 18% 67%,rgba(76,110,107,.05)),#c9d6c9}
.string-heading small{color:#5b8290}.string-heading h2{color:#29485b}.string-heading p{color:#71878f}.string-board{border-color:#9d7e5c;background-color:#dce8df;background-image:radial-gradient(rgba(74,105,100,.13) .6px,transparent .8px),linear-gradient(145deg,rgba(255,255,255,.48),transparent 45%);box-shadow:inset 0 0 0 2px rgba(250,252,238,.65),inset 0 9px 25px rgba(59,90,84,.07),0 9px 15px rgba(64,82,73,.16)}
.board-tape{border-color:#789899;background:#eef5ed;color:#507077}.string-board>p{background:#f4f8f0;color:#5f7b7c}.loose-bead-label span{color:#344e59}.loose-bead-label small{color:#72888d}.loose-bead-tray{border-color:rgba(60,98,105,.18);background:#bed2ce;box-shadow:inset 0 3px 8px rgba(58,88,87,.08),0 3px 8px rgba(58,88,87,.07)}
.string-view .loose-string-pearl{border-color:rgba(63,100,106,.14);background:#eef5ed}.string-view .loose-string-pearl b{color:#4d676c}.finish-string{background:#eb6b57;color:#fff8ed;box-shadow:0 4px 0 #a64b3d}.finish-string:disabled{background:#b8cbcd;color:#e9f0ee}

/* Live room, overlays and bottom navigation. */
.live-room{background:#284550;color:#f8fbf5}.live-head span{background:#eb6b57}.live-stage{background:linear-gradient(#a8c7c5 0 52%,#d8c4ad 52%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 8px 18px rgba(28,54,61,.2)}
.live-table{background:#f0e5d5;border-color:#49666b}.live-good{border:1px solid rgba(58,91,101,.2);border-radius:11px;background:#fbfcf7}.live-good button{border-radius:7px;background:#eb6b57}.leave-live{border-color:#8aa9ad;color:#dce9e6}
.day-sheet{border-color:#426273;background:#fbfcf7;box-shadow:6px 8px 0 #426273}.sheet-tape{background:#f3d990}.day-sheet button{background:#eb6b57}.toast{border-color:#426273;background:#fbfcf7;color:#29485b;box-shadow:3px 4px 0 rgba(53,83,93,.65)}
.bottom-nav{background:rgba(248,251,246,.97);border-top-color:rgba(58,95,108,.2);box-shadow:0 -4px 14px rgba(57,91,101,.05)}.bottom-nav button{color:#70878b}.bottom-nav span{font-family:"Kaiti SC","STKaiti",serif}.bottom-nav button.active{color:#eb6b57}
/* Tiny CSS-painted shop objects replace the old single-character nav marks. */
.bottom-nav button>span{position:relative;display:block;width:28px;height:21px;font-size:0;color:currentColor}
.bottom-nav button>span::before,.bottom-nav button>span::after{content:"";position:absolute;display:block}
.bottom-nav button[data-go="market"]>span::before,.bottom-nav button[data-go="home"]>span::before{left:3px;top:2px;width:22px;height:7px;border:1.5px solid currentColor;border-radius:3px 3px 6px 6px;background:repeating-linear-gradient(90deg,#f6f1dc 0 4px,#ef8a72 4px 8px)}
.bottom-nav button[data-go="market"]>span::after,.bottom-nav button[data-go="home"]>span::after{left:5px;top:10px;width:18px;height:9px;border:1.5px solid currentColor;border-top:0;background:linear-gradient(#d9e8d9 0 55%,#a8bea2 56%)}
.bottom-nav button[data-go="inventory"]>span::before{left:3px;top:5px;width:22px;height:14px;border:1.5px solid currentColor;border-radius:2px;background:#d8e4cf;box-shadow:inset 0 5px 0 rgba(255,255,255,.38)}
.bottom-nav button[data-go="inventory"]>span::after{left:7px;top:3px;width:14px;height:4px;border:1.5px solid currentColor;border-radius:4px 4px 0 0;background:#eef3dd}
.bottom-nav button[data-go="workshop"]>span::before{left:3px;top:8px;width:22px;height:7px;border:1.5px solid currentColor;border-radius:2px;background:#d6b28e;box-shadow:-1px 8px 0 -1px currentColor,17px 8px 0 -1px currentColor}
.bottom-nav button[data-go="workshop"]>span::after{left:7px;top:2px;width:2px;height:8px;background:currentColor;transform:rotate(-20deg);box-shadow:10px 2px 0 currentColor}
.bottom-nav button[data-go="orders"]>span::before{left:5px;top:3px;width:18px;height:17px;border:1.5px solid currentColor;border-radius:3px;background:#f5f1df}
.bottom-nav button[data-go="orders"]>span::after{left:10px;top:1px;width:8px;height:5px;border:1.5px solid currentColor;border-radius:3px;background:#d9e4d5;box-shadow:0 7px 0 -1px currentColor,0 11px 0 -1px currentColor}
@media(max-width:360px){.market-item{grid-template-columns:80px 1fr;gap:9px}.market-shell::before{transform:rotate(var(--tilt)) scale(.92)}}

/* Fidelity pass: real watercolor assets replace the CSS placeholders. */
.app-shell{background-image:linear-gradient(115deg,rgba(255,255,255,.13),transparent 38% 70%,rgba(82,137,157,.025))}.app-shell::before{display:none}
.app-shell::after{display:none}
.market-item{box-shadow:0 3px 0 rgba(61,91,101,.06),0 7px 16px rgba(65,100,111,.045)}
.market-item::before{content:"";position:absolute;z-index:4;left:17px;top:8px;width:29px;height:10px;border:0;background:rgba(242,218,145,.68);box-shadow:0 1px 0 rgba(116,103,68,.08);transform:rotate(-9deg);pointer-events:none}
.market-item.sold{opacity:1;filter:none}.market-item.sold .market-title,.market-item.sold .clues,.market-item.sold .seller-note,.market-item.sold .market-shell{opacity:1}.market-item.sold .buy-button{background:#b9d1dd;color:#fff;border:1px dashed rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(119,158,174,.2)}
.market-item:not(.sold) .buy-button{position:relative}.market-item:not(.sold) .buy-button::after{content:"✤";position:absolute;right:9px;top:50%;color:#6f926d;font-size:13px;text-shadow:0 1px 0 rgba(255,255,255,.35);transform:translateY(-50%) rotate(12deg)}
.market-supply-note{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding:11px 12px;border:1px dashed rgba(74,113,124,.3);border-radius:12px;background:rgba(249,250,239,.78);color:#6f858c}.market-supply-note b{flex:none;padding:4px 7px;border-radius:7px;background:#d8e9ec;color:#416878;font-size:10px}.market-supply-note span{font-size:10px;line-height:1.55}.market-supply-note.unlocked{border-color:rgba(208,151,69,.42);background:#fff6dc}.market-supply-note.unlocked b{background:#efd486;color:#795d30}.market-supply-note.unlocked span{color:#7d6b4f}
.market-shell{background-color:#fbfcf8;background-image:linear-gradient(rgba(81,128,146,.095) 1px,transparent 1px),linear-gradient(90deg,rgba(81,128,146,.095) 1px,transparent 1px);background-size:18px 18px}
.market-shell::after{left:8px;bottom:6px;width:23px;height:7px;border-color:rgba(65,134,158,.36);box-shadow:10px 2px 0 -1px rgba(65,134,158,.2)}
.market-title strong{font-family:"Trebuchet MS","PingFang SC",sans-serif;font-weight:800}.seller-note{font-family:"KaiTi","Kaiti SC","STKaiti",serif}
.page-heading h2,.trend-board h1,.section-title h2,.first-step h1,.empty-box b,.string-heading h2,.clean-heading h2,.open-copy h2,.day-sheet h2{font-family:"KaiTi","Kaiti SC","STKaiti","Songti SC",serif;font-weight:800}

.bottom-nav button[data-go="market"]>span::before,.bottom-nav button[data-go="market"]>span::after,.bottom-nav button[data-go="home"]>span::before,.bottom-nav button[data-go="home"]>span::after,.bottom-nav button[data-go="inventory"]>span::before,.bottom-nav button[data-go="inventory"]>span::after,.bottom-nav button[data-go="workshop"]>span::before,.bottom-nav button[data-go="workshop"]>span::after{display:none}
.bottom-nav{height:84px;padding-top:3px}.view{bottom:84px}
@media(max-width:360px){.market-shell::before{transform:rotate(var(--tilt)) scale(.9)}}

/* 2026-08 fidelity pass: independent artwork, centered without sprite cropping. */
.market-shell::before{
  width:100%;height:100%;border:0;border-radius:0;box-shadow:none;filter:none;
  background-repeat:no-repeat;background-position:center;background-size:contain;
  transform:rotate(var(--tilt)) scale(.94)
}
.market-shell.shell-art-0::before{background-image:url("./images/shell-1.png")}
.market-shell.shell-art-1::before{background-image:url("./images/shell-2.png")}
.market-shell.shell-art-2::before{background-image:url("./images/shell-3.png")}
.market-shell.shell-art-3::before{background-image:url("./images/shell-4.png")}
.market-shell.shell-art-4::before{background-image:url("./images/shell-5.png")}
.market-shell.shell-art-5::before{background-image:url("./images/shell-6.png")}

.stock-visual.shell::before{
  width:100%;height:100%;border:0;border-radius:0;box-shadow:none;filter:none;
  background-repeat:no-repeat;background-position:center;background-size:contain;transform:rotate(-2deg)
}
.stock-visual.stock-shell-river::before{background-image:url("./images/shell-1.png")}
.stock-visual.stock-shell-lake::before{background-image:url("./images/shell-2.png")}
.stock-visual.stock-shell-moon::before{background-image:url("./images/shell-5.png")}

.bottom-nav button[data-go="market"]>span,.bottom-nav button[data-go="home"]>span,
.bottom-nav button[data-go="inventory"]>span,.bottom-nav button[data-go="workshop"]>span{
  flex:none;width:72px;height:48px;background-repeat:no-repeat;background-position:center;background-size:contain
}
.bottom-nav button[data-go="market"]>span,.bottom-nav button[data-go="home"]>span{background-image:url("./images/nav-market.png")}
.bottom-nav button[data-go="inventory"]>span{background-image:url("./images/nav-inventory.png")}
.bottom-nav button[data-go="workshop"]>span{background-image:url("./images/nav-workshop.png")}

/* Opening table: watercolor shell and mallet on a soft blue work cloth. */
.open-view{background:#e5f1f3;background-image:linear-gradient(115deg,rgba(255,255,255,.22),transparent 42%)}
.open-copy{padding-inline:6px}.open-copy small{padding:5px 9px;background:#f5d98d;box-shadow:1px 2px 0 rgba(74,91,96,.1)}
.open-copy h2{margin-top:10px;color:#294e63;font-family:"KaiTi","Kaiti SC","STKaiti",serif;letter-spacing:.05em}
.open-copy p{color:#708a94}
.open-view .plain-back,.string-view .plain-back{display:flex!important;visibility:visible!important;opacity:1!important;z-index:60}
.open-stage{
  position:relative;height:346px;margin-top:14px;overflow:hidden;
  background-color:#d8e9eb;
  background-image:repeating-linear-gradient(0deg,rgba(73,121,134,.045) 0 1px,transparent 1px 26px),linear-gradient(112deg,rgba(255,255,255,.42),transparent 35% 70%,rgba(87,136,149,.06));
  border-top:1px solid rgba(76,121,133,.13);border-bottom:1px solid rgba(76,121,133,.13)
}
.open-stage::after{content:"";position:absolute;left:7%;right:7%;bottom:22px;height:26px;border-radius:50%;background:rgba(61,91,95,.08);filter:blur(10px);pointer-events:none}
.game-oyster{width:320px;height:252px;filter:drop-shadow(0 10px 8px rgba(52,76,78,.15));transform:rotate(-1deg)}
.game-shell{
  left:0;width:320px;height:185px;border:0;border-radius:0;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;
  box-shadow:none;overflow:visible;transition:transform .48s cubic-bezier(.2,.75,.25,1)
}
.game-shell::before,.game-shell::after,.game-shell>i{display:none!important}
.game-shell-bottom{z-index:1;top:66px;background-image:url("./images/open-shell-bottom.png")}
.game-shell-top{z-index:4;top:24px;background-image:url("./images/open-shell-top.png");transform-origin:18% 84%;transform:rotate(-2deg)}
/* Keep the watercolor shell asset above the older per-species gradient rule. */
.game-oyster[class*="shell-kind-"] .game-shell-top{background:transparent url("./images/open-shell-top.png") center/contain no-repeat!important}
.game-oyster[class*="shell-kind-"] .game-shell-bottom{background:transparent url("./images/open-shell-bottom.png") center/contain no-repeat!important}
.game-oyster.open .game-shell-top{transform:translate(-23px,-100px) rotate(-25deg)}
.game-oyster.broken .game-shell-top{transform:translate(8px,13px) rotate(9deg)}
.game-oyster.broken .game-shell-bottom{transform:translate(-7px,5px) rotate(-6deg)}
.hammer-tool{
  width:78px;height:94px;margin:-8px 0 0 -8px;border:0;background:transparent url("./images/hammer-watercolor.png") center/contain no-repeat;
  filter:drop-shadow(2px 5px 4px rgba(50,55,50,.2))
}
.hammer-tool span,.hammer-tool i{display:none}
.small-hammer{width:52px;height:54px;background:transparent url("./images/hammer-watercolor.png") center/contain no-repeat!important}
.small-hammer::before,.small-hammer::after,.small-hammer i{display:none!important}
.hammer-panel{margin-top:12px;padding:13px 14px 14px;border:1px solid rgba(66,103,113,.28);border-radius:16px;background:rgba(253,253,247,.94);box-shadow:0 5px 0 rgba(67,98,106,.08)}
.hammer-tip{align-items:center}.hammer-tip p b{color:#294d5f}.hammer-tip p small{color:#758b92;line-height:1.55}
.hammer-risk-note{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:9px 10px;border:1px solid rgba(217,116,87,.28);border-radius:10px;background:#fff2e9;color:#78554d;line-height:1.5}.hammer-risk-note b{flex:0 0 auto;padding:2px 5px;border-radius:5px;background:#eb6b57;color:#fff;font-size:9px}.hammer-risk-note span{font-size:9.5px}

/* Cleaning and stringing share the same tactile studio furniture. */
.clean-view{background:#e5f1f3;color:#344f5c}
.clean-view::before{top:154px;border-top-color:rgba(83,110,100,.16);background:repeating-linear-gradient(1deg,rgba(74,104,93,.045) 0 1px,transparent 1px 32px),linear-gradient(96deg,rgba(112,139,111,.07),transparent 24% 70%,rgba(99,133,112,.06)),#cfddcd}
.clean-heading h2{color:#294e63;font-family:"KaiTi","Kaiti SC","STKaiti",serif;letter-spacing:.04em}.clean-heading p{color:#6f8790}
.clean-surface{
  border:8px solid #b69067;border-radius:25px;background-color:#d8e8e7;
  background-image:repeating-linear-gradient(36deg,rgba(67,104,108,.055) 0 1px,transparent 1px 16px),linear-gradient(145deg,rgba(255,255,255,.46),transparent 46%);
  box-shadow:inset 0 0 0 2px rgba(250,248,231,.78),inset 0 10px 26px rgba(65,89,84,.07),0 10px 17px rgba(75,63,49,.16)
}
.clean-surface::after{border-color:rgba(62,101,108,.18);border-radius:15px}.cloth-corner{display:none}
.clean-pearl{border:1.5px solid rgba(65,86,89,.46);box-shadow:inset -12px -14px 18px rgba(40,52,53,.14),0 8px 11px rgba(55,70,67,.17),0 0 0 4px rgba(255,253,236,.38)}
.clean-pearl::before{left:21%;top:16%;width:22%;height:17%;background:rgba(255,255,255,.86)}
.clean-view .clean-pearl::after{inset:-4px;background:linear-gradient(132deg,rgba(109,103,83,.2),rgba(80,90,78,.7)),repeating-linear-gradient(143deg,rgba(77,82,71,.12) 0 2px,transparent 2px 11px);mix-blend-mode:multiply}
.clean-view .wipe-cloth{
  width:112px;height:84px;margin:-42px 0 0 -56px;border:0;border-radius:0;background:transparent url("./images/cloth-watercolor.png") center/contain no-repeat;
  box-shadow:none;filter:drop-shadow(3px 6px 5px rgba(47,57,54,.2));opacity:0
}
.clean-view .wipe-cloth::before,.clean-view .wipe-cloth i{display:none}
.clean-view .wipe-cloth.show{opacity:.96}.clean-view .wipe-cloth.resting{left:calc(100% - 88px)!important;top:calc(100% - 65px)!important;transform:rotate(-8deg) scale(.94)}
.clean-view .wipe-cloth.wiping{transform:rotate(5deg) scale(1.04)}
.clean-note{border-color:rgba(68,108,117,.16);background:rgba(248,251,242,.84)}.clean-note span{background:#a9c9cd;color:#31545f}.clean-note p{color:#657e86}

.string-view{background:#e5f1f3;color:#344f5c}.string-view::before{border-top-color:rgba(80,111,101,.16);background:repeating-linear-gradient(2deg,rgba(75,106,95,.04) 0 1px,transparent 1px 30px),linear-gradient(98deg,rgba(102,137,112,.065),transparent 20% 68%,rgba(86,127,108,.05)),#cfddcd}
.string-heading h2{color:#294e63;font-family:"KaiTi","Kaiti SC","STKaiti",serif;letter-spacing:.035em}.string-heading p{color:#6f8790}
.string-board{border-color:#b69067;background-color:#dbe9e5;background-image:radial-gradient(rgba(69,106,102,.1) .65px,transparent .8px),linear-gradient(145deg,rgba(255,255,255,.5),transparent 45%);box-shadow:inset 0 0 0 2px rgba(250,248,231,.72),inset 0 9px 25px rgba(59,90,84,.06),0 9px 15px rgba(64,82,73,.13)}
.board-tape{border-color:#7e9ca0;background:#f5f8ec;color:#52717a}.string-board>p{background:#f7f9ef;color:#5f787e}.loose-bead-tray{background:#bed4cf;border-color:rgba(60,98,105,.16)}

@media(max-width:360px){
  .market-shell::before{transform:rotate(var(--tilt)) scale(.9)}
  .bottom-nav button[data-go="market"]>span,.bottom-nav button[data-go="home"]>span,.bottom-nav button[data-go="inventory"]>span,.bottom-nav button[data-go="workshop"]>span{width:64px;height:44px}
  .game-oyster{transform:rotate(-1deg) scale(.9)}
}

/* Readable type scale: larger text without flattening the storybook hierarchy. */
.topbar{height:84px;padding:calc(14px + var(--safe-area-inset-top,env(safe-area-inset-top,0px))) 18px 10px}
.brand{gap:11px}.brand>span{width:40px;height:40px}.brand b{font-size:16px;line-height:1.25}.brand small{margin-top:3px;font-size:11px;line-height:1.35}
.wallet small{font-size:10.5px}.wallet strong{font-size:25px;line-height:1.1}
.view{top:84px;bottom:92px;padding:18px 18px 26px}
.bottom-nav{height:92px;padding:4px 8px calc(5px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))}
.bottom-nav button{gap:0}.bottom-nav button b{font-size:11px;line-height:1.3}.bottom-nav button[data-go="market"]>span,.bottom-nav button[data-go="home"]>span,.bottom-nav button[data-go="inventory"]>span,.bottom-nav button[data-go="workshop"]>span{width:72px;height:50px}

.page-heading small,.section-title small,.dayline,.clean-heading small,.string-heading small{font-size:11.5px;line-height:1.4}
.page-heading h2{font-size:31px;line-height:1.2}.page-heading>span{padding:6px 10px;font-size:11px;line-height:1.25}
.page-lede{margin-top:9px;font-size:12px;line-height:1.65}
.first-step{padding:19px 18px 20px}.first-step>span{padding:5px 8px;font-size:10px}.first-step h1{font-size:31px;line-height:1.18}.first-step p{font-size:12.5px;line-height:1.65}
.market-heading{margin-top:25px}.market-list{gap:13px;margin-top:18px}
.market-item{grid-template-columns:104px 1fr;gap:14px;padding:14px;border-radius:16px}
.market-shell{min-height:128px}.market-title strong{font-size:16px;line-height:1.35}.market-title em{font-size:20px;line-height:1.2}
.clues{gap:6px;margin-top:7px}.clues span{padding:5px 7px;font-size:10.5px;line-height:1.25}
.seller-note{margin-top:8px;font-size:12.5px;line-height:1.55}.buy-button{margin-top:9px;padding:11px 10px;font-size:12.5px;line-height:1.25}

.segmented{margin-top:16px}.segmented button{min-height:39px;font-size:12px}
.choice-guide{padding:13px 14px}.choice-guide b{font-size:13px}.choice-guide p{margin-top:5px;font-size:11px;line-height:1.55}
.empty-box b{font-size:22px;line-height:1.3}.empty-box p{font-size:12px;line-height:1.6}
.stock-card,.pearl-card,.jewelry-card,.order-card{padding:13px}.stock-card b,.pearl-card b,.jewelry-card b,.order-card b{font-size:14px;line-height:1.4}
.stock-card small,.pearl-card small,.jewelry-card small,.order-card small,.order-note{font-size:10.5px;line-height:1.55}
.stock-card em,.pearl-card em,.jewelry-card em,.order-card em{font-size:11.5px;line-height:1.4}
.stock-actions button,.mini-sell,.order-card button{min-height:37px;font-size:11.5px}

.workshop-view .pearl-picker{padding-top:15px;padding-bottom:15px}.workshop-view .pick-pearl{flex-basis:86px;min-height:94px;padding:9px 6px}
.workshop-view .pick-pearl b{font-size:10.5px;line-height:1.35}.workshop-view .pick-pearl small{font-size:9.5px;line-height:1.35}
.recipe-heading b{font-size:23px}.recipe-heading small{font-size:10.5px}
.workshop-view .recipe{grid-template-rows:104px auto 39px;min-height:208px;padding:11px 12px 12px}
.workshop-view .recipe b{font-size:13px;line-height:1.35}.workshop-view .recipe small{min-height:31px;font-size:10px;line-height:1.55}.workshop-view .recipe button{min-height:39px;font-size:11px}

.dayline b{font-size:15px}.trend-board p{font-size:11px}.trend-board h1{font-size:28px;line-height:1.25}.trend-board>span{font-size:11.5px;line-height:1.5}
.quick-stats span{font-size:10.5px}.quick-stats b{font-size:24px}.quick-stats small{font-size:10px}
.section-title h2{font-size:28px}.section-title>span{font-size:10.5px}.work-card{min-height:96px;padding:12px}.work-card b{font-size:13px;line-height:1.35}.work-card small{font-size:10px;line-height:1.35}
.tomorrow-note{font-size:11px;line-height:1.55}.end-day,.rescue-button{font-size:12.5px;line-height:1.4}.legal-note{font-size:10px;line-height:1.5}

.open-view,.clean-view,.string-view{top:0!important;bottom:0!important}
.open-view .plain-back,.string-view .plain-back{min-height:44px;padding:6px 14px 6px 7px;font-size:11.5px}.open-view .plain-back::before,.string-view .plain-back::before{width:31px;height:31px;font-size:23px}
.open-copy small{font-size:10.5px}.open-copy h2{font-size:32px;line-height:1.2}.open-copy p{margin-top:7px;font-size:12px;line-height:1.55}
.hammer-readout{font-size:11.5px;line-height:1.4}.hammer-readout b{font-size:14px}.hammer-tip{gap:10px}.hammer-tip p b{font-size:13px;line-height:1.4}.hammer-tip p small{font-size:10.5px}.hammer-risk-note b{font-size:10px}.hammer-risk-note span{font-size:10.5px}.open-result{font-size:12px}.open-result button{min-height:44px;font-size:12.5px}

.clean-view,.string-view{overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.clean-heading h2,.string-heading h2{font-size:32px;line-height:1.18}.clean-heading p,.string-heading p{font-size:12px;line-height:1.55}
.clean-progress{grid-template-columns:auto 1fr 38px;gap:11px;font-size:10.5px}.clean-progress b{font-size:13px}
.clean-note{padding:12px 13px}.clean-note span{font-size:10.5px}.clean-note p{font-size:10.5px;line-height:1.55}.finish-clean,.finish-string{min-height:46px;font-size:12.5px;line-height:1.35}
.board-tape,.string-board>p{font-size:9.5px}.loose-bead-label span{font-size:15px}.loose-bead-label small{font-size:10px;line-height:1.4}
.string-view .loose-string-pearl b{font-size:9px;line-height:1.3}.string-view .tray-empty{font-size:11px;line-height:1.5}
.broken-shell-message small{font-size:11px}.toast{font-size:12px;line-height:1.45}

@media(max-width:360px){
  .topbar{padding-inline:14px}.brand b{font-size:15px}.wallet strong{font-size:23px}
  .view{padding-inline:14px}.market-item{grid-template-columns:92px 1fr;gap:11px;padding:12px}.market-shell{min-height:120px}
  .market-title strong{font-size:15px}.seller-note{font-size:11.5px}.buy-button{font-size:12px}
  .workshop-view .recipe-list{gap:8px}.workshop-view .recipe{padding-inline:9px}.workshop-view .recipe b{font-size:12px}
}

@media(max-height:760px){
  .clean-heading h2,.string-heading h2{font-size:28px}.clean-heading p,.string-heading p{font-size:11.5px}
  .clean-surface{height:326px}.clean-note{padding-block:9px}.finish-clean,.finish-string{min-height:42px}
}

/* Native chrome clearance, save/music controls, and bankruptcy reset. */
:root{--xhs-native-clearance:38px}
.topbar{
  top:calc(var(--safe-area-inset-top,env(safe-area-inset-top,0px)) + var(--xhs-native-clearance));
  height:88px;padding:10px 14px;background:rgba(231,244,247,.97)
}
.view{top:calc(var(--safe-area-inset-top,env(safe-area-inset-top,0px)) + var(--xhs-native-clearance) + 88px)}
.brand{min-width:0;gap:9px}.brand>span{
  flex:none;width:44px;height:44px;border:0;border-radius:50%;font-size:0;transform:none;
  background:transparent url("./images/logo-azhu-256.png") center/contain no-repeat;box-shadow:none
}
.brand div{min-width:0}.brand b{white-space:nowrap}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-left:8px}
.header-tool{min-height:34px;padding:6px 9px;border:1px solid rgba(67,104,116,.23);border-radius:99px;background:rgba(250,252,246,.92);color:#456774;font-size:10.5px;font-weight:800;white-space:nowrap;box-shadow:0 2px 0 rgba(67,98,106,.08)}
.header-tool:active{transform:translateY(1px);box-shadow:none}.header-tool.muted{background:#d3e1e2;color:#75888c}.wallet{margin-left:2px}.wallet strong{font-size:23px}
.restart-header-tool{border-color:rgba(185,82,67,.32);background:#fff0e7;color:#aa4e42;box-shadow:0 2px 0 rgba(166,75,61,.13)}

.open-view,.string-view{padding-top:calc(112px + var(--safe-area-inset-top,env(safe-area-inset-top,0px)))!important}
.clean-view,.live-room{padding-top:calc(68px + var(--safe-area-inset-top,env(safe-area-inset-top,0px)))!important}
.open-view .plain-back,.string-view .plain-back{
  top:calc(52px + var(--safe-area-inset-top,env(safe-area-inset-top,0px)));left:18px;right:auto
}
.open-view .open-copy,.string-view .string-heading{margin-top:0}

.bankrupt-backdrop{position:fixed;z-index:160;inset:0;display:grid;place-items:center;padding:22px;background:rgba(38,62,68,.58);opacity:0;pointer-events:none;transition:opacity .22s}
.bankrupt-backdrop.open{opacity:1;pointer-events:auto}.bankrupt-sheet{width:min(100%,430px);padding:28px 24px 22px;border:1px solid rgba(53,87,99,.35);border-radius:22px;background:#fbfcf7;box-shadow:0 12px 0 rgba(43,72,80,.24),0 28px 60px rgba(27,48,54,.25);text-align:center;transform:translateY(12px) scale(.97);transition:transform .24s}
.bankrupt-backdrop.open .bankrupt-sheet{transform:none}.bankrupt-stamp{display:inline-block;padding:6px 10px;border:1px solid #a84b3e;border-radius:5px;background:#f8dfd5;color:#a84b3e;font-size:11px;font-weight:900;transform:rotate(-2deg)}
.bankrupt-sheet h2{margin-top:14px;color:#294e63;font:900 30px/1.2 "KaiTi","Kaiti SC","STKaiti",serif}.bankrupt-sheet p{margin:10px auto 0;max-width:330px;color:#667f88;font-size:12px;line-height:1.65}
.bankrupt-sheet button{width:100%;min-height:47px;border-radius:10px;font-size:12.5px;font-weight:900}.restart-game{margin-top:20px;background:#eb6b57;color:#fff8ed;box-shadow:0 4px 0 #a64b3d}.stay-bankrupt{margin-top:10px;border:1px solid rgba(62,97,108,.25);background:#e3eef0;color:#52717c}

@media(max-width:410px){
  :root{--xhs-native-clearance:34px}.topbar{height:84px;padding-inline:11px}.view{top:calc(var(--safe-area-inset-top,env(safe-area-inset-top,0px)) + var(--xhs-native-clearance) + 84px)}
  .brand{gap:7px}.brand>span{width:38px;height:38px}.brand b{font-size:14px}.brand small{font-size:10px}.header-actions{gap:4px;margin-left:5px}.header-tool{min-height:32px;padding-inline:7px;font-size:9.5px}.wallet{margin-left:0}.wallet small{font-size:9px}.wallet strong{font-size:20px}
}

/* Livestream unlock and watercolor room — same visual language as the market. */
.live-card.locked{border-style:dashed;background:#e6eeec;color:#718589;box-shadow:none}.live-card.locked .live-dot{border:1px solid rgba(73,111,120,.24);background:#cadbdc;color:#55747c;font-size:11px}.live-card.locked small{color:#789096}.live-card.locked i{color:#8aa0a4}
.live-room{overflow-y:auto;background:#e5f1f3;color:#304f5e;background-image:linear-gradient(115deg,rgba(255,255,255,.24),transparent 42%)}
.live-head{padding:0 4px}.live-head span{padding:8px 11px;border:1px solid rgba(156,69,57,.18);border-radius:99px;background:#eb6b57;color:#fff9ef;font-size:11px;box-shadow:0 3px 0 rgba(143,69,58,.18)}.live-head b{color:#587681;font-size:10.5px;font-weight:800}
.live-stage{height:330px;margin-top:14px;border:1px solid rgba(69,111,123,.2);border-radius:19px;background-color:#d9e9e9;background-image:repeating-linear-gradient(0deg,rgba(74,119,130,.045) 0 1px,transparent 1px 27px),linear-gradient(180deg,rgba(255,255,255,.38) 0 57%,rgba(184,210,201,.55) 57%);box-shadow:inset 0 0 0 5px rgba(250,252,244,.34),0 7px 14px rgba(62,96,105,.09)}
.live-table{top:48%;width:260px;height:138px;border:0;border-radius:50% 50% 13px 13px;background:#c89f75;background-image:repeating-linear-gradient(5deg,rgba(103,71,45,.07) 0 1px,transparent 1px 20px),linear-gradient(#efd8b8,#c59c72);box-shadow:inset 0 5px 0 rgba(255,245,220,.45),0 10px 13px rgba(70,61,51,.16)}
.phone-stand{right:-20px;top:-82px;width:10px;height:96px;border-radius:5px;background:#6c8689;box-shadow:2px 3px 0 rgba(49,76,80,.14)}.phone-stand::before{left:-13px;top:-13px;width:38px;height:64px;border:2px solid #58767c;border-radius:11px;background:#d8e7e5;box-shadow:inset 0 0 0 4px #f6f8ee}
.live-oyster{top:2px;width:160px;height:112px;filter:drop-shadow(0 7px 5px rgba(61,72,65,.16))}.live-oyster::before,.live-oyster::after{left:0;width:160px;height:94px;border:0;border-radius:0;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain}.live-oyster::before{top:-23px;background-image:url("./images/open-shell-top.png");transform:translate(-11px,-18px) rotate(-13deg)}.live-oyster::after{top:28px;background-image:url("./images/open-shell-bottom.png")}
.chat-feed{left:12px;right:12px;bottom:11px;gap:5px}.chat-feed p{padding:5px 9px;border:1px solid rgba(72,105,113,.13);border-radius:9px;background:rgba(251,252,247,.9);color:#52717b;font-size:10px;box-shadow:0 2px 4px rgba(59,88,95,.07)}.chat-feed b{color:#d45d4d}
.live-summary{margin-top:10px;padding:10px 12px;border:1px solid rgba(67,104,115,.16);border-radius:11px;background:rgba(250,252,246,.82);color:#66818a;font-size:11px}.live-summary b{color:#294f60;font-size:13px}.live-room h3{margin-top:17px;color:#294f60;font:900 22px "KaiTi","Kaiti SC","STKaiti",serif}
.live-goods{gap:10px;margin-top:10px;padding-bottom:8px}.live-good{flex-basis:170px;padding:12px;border-radius:14px;background:#fbfcf7;box-shadow:0 4px 0 rgba(66,99,107,.07)}.live-good b{font-size:13px}.live-good small{margin-top:5px;font-size:10px;line-height:1.45}.live-good button{min-height:38px;margin-top:9px;font-size:11px}.leave-live{min-height:44px;margin-top:14px;border:1px solid rgba(71,107,116,.25);border-radius:10px;background:#d4e5e5;color:#456873;font-size:12px;font-weight:900}
.live-play-panel{margin-top:11px;padding:13px;border:1px solid rgba(67,104,115,.18);border-radius:15px;background:rgba(250,252,246,.88);box-shadow:0 4px 0 rgba(64,95,103,.07)}.live-demand{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;padding-bottom:10px;border-bottom:1px dashed rgba(73,108,116,.2)}.live-demand span{color:#71868c;font-size:10px;font-weight:800}.live-demand b{grid-column:2;grid-row:1/3;color:#df604f;font:900 21px/1.1 "KaiTi","Kaiti SC","STKaiti",serif}.live-demand small{color:#4e7580;font-size:10px;font-weight:800}.live-heat-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.live-heat-copy b{color:#31586a;font-size:11px}.live-heat-copy span{color:#819398;font-size:9px}.live-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.live-actions button{min-height:55px;padding:8px 5px;border:1px solid rgba(67,105,115,.2);border-radius:10px;background:#e5f0ef;color:#456b76;box-shadow:0 2px 0 rgba(65,97,105,.08)}.live-actions button b{display:block;font-size:10px;line-height:1.3}.live-actions button small{display:block;margin-top:4px;color:#789096;font-size:8.5px}.live-actions button:active{transform:translateY(1px);box-shadow:none}.live-actions button.used{border-style:dashed;background:#d7e2e1;color:#839295;box-shadow:none}.live-play-panel>p{margin-top:8px;color:#87979b;font-size:8.5px;line-height:1.45;text-align:center}
.live-color-tag{display:flex;align-items:center;gap:5px;margin-top:7px;padding:5px 7px;border:1px solid rgba(66,104,114,.18);border-radius:99px;background:#e6f0ef;color:#4f717a;font-size:9px;font-weight:900;line-height:1.2}.live-color-tag i{flex:none;width:14px;height:14px;border:1px solid rgba(61,86,91,.28);border-radius:50%;background:var(--live-color);box-shadow:inset -2px -2px 3px rgba(47,62,65,.14)}.live-color-tag.unknown i{background:repeating-linear-gradient(135deg,#d6e1df 0 3px,#aebfbe 3px 6px)}.live-color-tag.wanted{border-color:rgba(220,89,73,.32);background:#fff0e7;color:#b04e40}.live-good.demand-match{border:1px solid rgba(221,95,78,.38);box-shadow:0 4px 0 rgba(183,77,63,.12),0 0 0 3px rgba(255,225,211,.45)}.live-good small strong{color:#d85d4c;font-size:11px}.live-good button:disabled{background:#bdcecf;color:#edf3f1;box-shadow:none}
@media(max-width:360px){.live-actions{gap:5px}.live-actions button{padding-inline:3px}.live-actions button b{font-size:9px}.live-demand b{font-size:19px}}

/* Special pearl glow follows collectible pearls through every game screen. */
.pearl-dot.rare{position:relative;isolation:isolate;border-color:#7f6dac;box-shadow:inset -5px -7px 10px rgba(66,53,105,.2),0 0 0 3px rgba(255,244,177,.76),0 0 14px 5px rgba(111,223,221,.52),0 0 25px 10px rgba(190,139,235,.28);animation:rarePearlGlow 1.45s ease-in-out infinite alternate}
.pearl-dot.rare::before{content:"✦";position:absolute;z-index:3;right:-13px;top:-14px;color:#fff4a9;font-size:17px;line-height:1;text-shadow:-22px 12px 0 #b9f4ef,-6px 36px 0 #d7b3f2,8px 23px 0 #fff;animation:rareSparkle 1.8s steps(2,end) infinite}
.pearl-dot.rare::after{content:"";position:absolute;z-index:-1;inset:-8px;border:1px dashed rgba(131,109,191,.55);border-radius:50%;animation:rareRing 5s linear infinite}
.rare-tag{display:block!important;margin-top:5px;padding:3px 6px;border:1px solid rgba(120,95,175,.32);border-radius:99px;background:linear-gradient(90deg,#fff3b7,#d2f5ef,#e2ccf5);color:#624f88!important;font-size:8px!important;font-style:normal;font-weight:900;line-height:1.25;white-space:nowrap}
.pearl-card.rare-card,.pick-pearl.rare-card,.loose-string-pearl.rare-card{border-color:rgba(126,103,180,.6);background:linear-gradient(145deg,rgba(255,252,232,.97),rgba(221,246,241,.93) 52%,rgba(238,222,248,.92));box-shadow:0 0 0 2px rgba(255,244,176,.5),0 8px 22px rgba(106,89,154,.18)}
.pearl-card.rare-card{grid-column:span 2;min-height:142px}.pearl-card.rare-card .pearl-dot{max-width:46px;max-height:46px;width:46px;height:46px}.pearl-card.rare-card .mini-sell{border:0;background:#725a9c;color:#fff6d7;font-size:10px;box-shadow:0 3px 0 #493b68}
.game-pearl.rare{border-color:#fff0a4;background:radial-gradient(circle at 28% 23%,#fff 0 8%,#fff6b6 15%,#8ce9df 36%,#7da8ed 55%,#cc8be4 74%,#674c99 100%);box-shadow:inset -11px -13px 17px rgba(55,40,100,.18),0 0 0 5px rgba(255,244,165,.72),0 0 28px 16px rgba(102,229,218,.58),0 0 52px 27px rgba(182,116,232,.34);animation:rarePearlGlow 1.25s ease-in-out infinite alternate}
.game-pearl.rare::before{content:"✦";position:absolute;right:-18px;top:-22px;color:#fff7b8;font-size:24px;text-shadow:-77px 29px 0 #c2faf0,-35px -14px 0 #f0c9ff,-6px 90px 0 #fff1a5;animation:rareSparkle 1.2s steps(2,end) infinite}
.game-pearl.rare::after{content:"传说";position:absolute;left:50%;bottom:-43px;padding:5px 9px;border:1px solid rgba(109,84,162,.3);border-radius:99px;background:rgba(251,249,230,.93);color:#674f91;font-size:10px;font-weight:900;white-space:nowrap;transform:translateX(-50%)}
.clean-pearl.rare{border-color:#8e75bd;box-shadow:inset -12px -14px 18px rgba(51,40,92,.16),0 0 0 5px rgba(255,241,154,.68),0 0 25px 13px rgba(102,224,215,.53),0 0 42px 20px rgba(184,123,231,.3);animation:rarePearlGlow 1.35s ease-in-out infinite alternate}
.clean-pearl.rare.clean{box-shadow:inset -10px -12px 16px rgba(51,40,92,.13),0 0 0 6px rgba(255,244,166,.86),0 0 34px 17px rgba(96,236,222,.7),0 0 55px 28px rgba(194,124,238,.43)}
.string-view #strungBeads button.rare{border-color:#fff0a4;box-shadow:inset -6px -7px 10px rgba(47,39,83,.16),0 0 0 4px rgba(255,241,150,.7),0 0 18px 8px rgba(101,226,216,.55),0 0 30px 13px rgba(186,120,231,.3);animation:rarePearlGlow 1.4s ease-in-out infinite alternate}
@keyframes rarePearlGlow{from{filter:saturate(1.05) brightness(1);opacity:.94}to{filter:saturate(1.35) brightness(1.14);opacity:1}}
@keyframes rareSparkle{0%,45%{opacity:.35;transform:rotate(-8deg) scale(.8)}50%,100%{opacity:1;transform:rotate(12deg) scale(1.15)}}
@keyframes rareRing{to{transform:rotate(360deg)}}

/* Eight-action day loop: explain the rule and make settling impossible to miss. */
.action-counter{display:flex;align-items:baseline;gap:4px;padding:6px 8px;border:1px solid rgba(64,101,113,.22);border-radius:99px;background:rgba(250,252,246,.86);color:#587581;box-shadow:0 2px 0 rgba(64,98,107,.07)}
.action-counter span{font-size:10.5px;font-weight:800}.action-counter b{color:#eb6b57;font-size:17px;line-height:1}.action-counter i{font-size:10px;font-style:normal;font-weight:800}.action-counter em{display:grid;place-items:center;width:16px;height:16px;margin-left:2px;border-radius:50%;background:#7ea5b2;color:#fff;font-size:10px;font-style:normal;font-weight:900}
.action-explain{margin-top:9px;padding:9px 11px;border-left:3px solid #7fa7b4;border-radius:0 8px 8px 0;background:rgba(250,252,246,.65);color:#637f88;font-size:10.5px;line-height:1.55}
.end-day{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;margin-top:8px;padding:13px 15px;border-color:#527686;background:rgba(250,252,246,.78);box-shadow:0 3px 0 rgba(64,98,108,.09)}.end-day b{font-size:13px}.end-day small{grid-column:1;color:#70878d;font-size:10px;font-weight:600}.end-day span{grid-column:2;grid-row:1/3;float:none;font-size:18px}
.end-day.end-day-primary{min-height:76px;margin-top:14px;padding:15px 17px;border:1px solid #b44f42;border-radius:15px;background:linear-gradient(135deg,#ef705d,#e95c4b);color:#fffaf0;box-shadow:0 5px 0 #a7473c,0 10px 20px rgba(133,66,56,.15);text-align:left}.end-day.end-day-primary b{font-size:16px;line-height:1.3}.end-day.end-day-primary small{margin-top:4px;color:#fff2e5;font-size:10.5px;line-height:1.45}.end-day.end-day-primary span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);font-size:23px}.end-day.end-day-primary:active{transform:translateY(2px);box-shadow:0 3px 0 #a7473c,0 6px 13px rgba(133,66,56,.12)}
.action-exhausted{position:absolute;z-index:65;left:12px;right:12px;bottom:calc(101px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 15px;border:1px solid rgba(151,72,59,.3);border-radius:14px;background:rgba(255,249,234,.97);box-shadow:0 7px 22px rgba(55,77,81,.18),0 3px 0 rgba(151,72,59,.16)}.action-exhausted div{display:flex;min-width:0;flex-direction:column}.action-exhausted b{color:#75483e;font-size:12.5px}.action-exhausted small{margin-top:3px;color:#89746d;font-size:9.5px}.action-exhausted button{flex:none;min-height:39px;padding:8px 12px;border-radius:9px;background:#eb6b57;color:#fff9ed;font-size:11px;font-weight:900;box-shadow:0 3px 0 #a64b3d}
.action-help-backdrop{position:fixed;z-index:175;inset:0;display:grid;place-items:center;padding:22px;background:rgba(38,62,68,.58);opacity:0;pointer-events:none;transition:opacity .2s}.action-help-backdrop.open{opacity:1;pointer-events:auto}.action-help-sheet{width:min(100%,430px);padding:25px 22px 20px;border:1px solid rgba(57,92,104,.3);border-radius:22px;background:#fbfcf7;box-shadow:0 12px 0 rgba(43,72,80,.22),0 28px 60px rgba(27,48,54,.22);transform:translateY(10px) scale(.98);transition:transform .22s}.action-help-backdrop.open .action-help-sheet{transform:none}.action-help-sheet>span{display:inline-block;padding:5px 8px;border-radius:5px;background:#f3d990;color:#5f604d;font-size:10px;font-weight:900}.action-help-sheet h2{margin-top:12px;color:#294e63;font:900 27px/1.2 "KaiTi","Kaiti SC","STKaiti",serif}.action-rule{margin-top:13px;padding:11px 12px;border:1px solid rgba(68,105,115,.16);border-radius:11px}.action-rule b{font-size:12px}.action-rule p{margin-top:4px;color:#687e84;font-size:10.5px;line-height:1.55}.action-rule.costs{background:#fff0e9}.action-rule.costs b{color:#a45042}.action-rule.free{background:#edf5ec}.action-rule.free b{color:#557b5e}.action-help-copy{margin-top:13px;color:#637c84;font-size:11px;line-height:1.65}.action-help-buttons{display:grid;grid-template-columns:1.2fr 1fr;gap:9px;margin-top:18px}.action-help-buttons button{min-height:44px;border-radius:9px;font-size:11.5px;font-weight:900}.action-help-buttons button:first-child{background:#eb6b57;color:#fff9ed;box-shadow:0 3px 0 #a64b3d}.action-help-buttons button:last-child{border:1px solid rgba(65,101,112,.23);background:#e3eef0;color:#52717c}
@media(max-width:360px){.action-explain{font-size:10px}.action-exhausted{left:8px;right:8px}.action-exhausted small{display:none}.action-help-sheet h2{font-size:24px}}

/* Explicit restart and workshop blocker notices. */
.reset-run-button{display:block;margin:14px auto 0;padding:8px 15px;border:1px dashed rgba(83,112,119,.34);border-radius:99px;background:rgba(250,252,246,.42);color:#71878c;font-size:10.5px;font-weight:800}.reset-run-button:active{background:#e6eeee;color:#496b75}
.share-reward-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:12px;padding:13px 13px 13px 15px;border:1px solid rgba(203,150,59,.3);border-radius:14px;background:linear-gradient(135deg,rgba(255,248,218,.93),rgba(246,239,205,.76));box-shadow:0 3px 0 rgba(151,116,56,.09)}.share-reward-card div{display:flex;min-width:0;flex-direction:column}.share-reward-card span{color:#a16f2f;font-size:9px;font-weight:900}.share-reward-card b{margin-top:3px;color:#674f35;font-size:12.5px;line-height:1.35}.share-reward-card small{margin-top:4px;color:#8b7b62;font-size:9px;line-height:1.4}.share-reward-card button{min-height:42px;padding:8px 11px;border-radius:9px;background:#eb6b57;color:#fff9ed;font-size:10.5px;font-weight:900;box-shadow:0 3px 0 #a64b3d}.share-reward-card button:disabled{background:#c7d2cc;color:#f4f5ed;box-shadow:none}
.game-notice-backdrop{position:fixed;z-index:185;inset:0;display:grid;place-items:center;padding:22px;background:rgba(38,62,68,.58);opacity:0;pointer-events:none;transition:opacity .2s}.game-notice-backdrop.open{opacity:1;pointer-events:auto}.game-notice-sheet{width:min(100%,430px);padding:26px 23px 21px;border:1px solid rgba(57,92,104,.3);border-radius:22px;background:#fbfcf7;box-shadow:0 12px 0 rgba(43,72,80,.22),0 28px 60px rgba(27,48,54,.22);transform:translateY(10px) scale(.98);transition:transform .22s}.game-notice-backdrop.open .game-notice-sheet{transform:none}.game-notice-sheet>span{display:inline-block;padding:5px 9px;border-radius:5px;background:#f3d990;color:#5f604d;font-size:10px;font-weight:900}.game-notice-sheet h2{margin-top:13px;color:#294e63;font:900 27px/1.2 "KaiTi","Kaiti SC","STKaiti",serif}.game-notice-sheet>p{margin-top:10px;color:#637c84;font-size:11.5px;line-height:1.7}.game-notice-buttons{display:grid;grid-template-columns:1.25fr 1fr;gap:9px;margin-top:20px}.game-notice-buttons button{min-height:45px;padding:8px 10px;border-radius:9px;font-size:11.5px;font-weight:900}.game-notice-buttons button:first-child{background:#eb6b57;color:#fff9ed;box-shadow:0 3px 0 #a64b3d}.game-notice-buttons button:last-child{border:1px solid rgba(65,101,112,.23);background:#e3eef0;color:#52717c}.game-notice-buttons .danger-button{background:#b9574c;box-shadow:0 3px 0 #793b35}
.restart-share-reminder{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;margin-top:15px;padding:11px 11px 11px 13px;border:1px solid rgba(199,146,53,.3);border-radius:11px;background:#fff4d8}.restart-share-reminder b{color:#7b5c2f;font-size:11.5px}.restart-share-reminder p{grid-column:1;color:#8b7656;font-size:9.5px;line-height:1.45}.restart-share-reminder button{grid-column:2;grid-row:1/3;min-height:39px;padding:7px 10px;border-radius:8px;background:#d6a44d;color:#fffaf0;font-size:9.5px;font-weight:900;box-shadow:0 3px 0 #987337}.restart-share-reminder.claimed{border-color:rgba(77,119,103,.22);background:#eaf2e7}.restart-share-reminder.claimed b{color:#55765f}.restart-share-reminder.claimed button{background:#b9c9c0;color:#edf3eb;box-shadow:none}
.workshop-view .recipe button.is-blocked{cursor:pointer;opacity:1}.workshop-view .recipe button.is-blocked:active{background:#b7cbcd;color:#fff}
@media(max-width:360px){.game-notice-sheet h2{font-size:24px}.game-notice-buttons{grid-template-columns:1fr}.reset-run-button{font-size:10px}.share-reward-card{grid-template-columns:1fr}.share-reward-card button{width:100%}.restart-share-reminder{grid-template-columns:1fr}.restart-share-reminder button{grid-column:1;grid-row:auto;width:100%}}

/* Hand-sorted pearl box: touch-friendly bins and a physical drag affordance. */
.inventory-pane.pearl-organizer.active{display:block}.pearl-organizer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid rgba(64,101,113,.18);border-radius:12px;background:rgba(250,252,246,.72)}.pearl-organizer-head div{display:flex;min-width:0;flex-direction:column}.pearl-organizer-head b{color:#294f60;font-size:14px}.pearl-organizer-head small{margin-top:4px;color:#70868c;font-size:10px;line-height:1.45}.pearl-organizer-head>span{flex:none;padding:6px 9px;border-radius:99px;background:#d5e6e8;color:#4b6d78;font-size:10px;font-weight:900}.pearl-bin-list{display:grid;gap:12px;margin-top:12px}.pearl-bin{padding:11px;border:1px solid rgba(62,99,110,.23);border-radius:15px;background:rgba(250,252,246,.76);box-shadow:0 3px 0 rgba(66,97,105,.07);transition:border-color .15s,background .15s,transform .15s}.pearl-bin>header{display:flex;align-items:center;justify-content:space-between;padding:0 3px 9px}.pearl-bin>header div{display:flex;flex-direction:column}.pearl-bin>header b{color:#315668;font-size:13px}.pearl-bin>header small{margin-top:2px;color:#829499;font-size:9.5px}.pearl-bin>header>span{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:50%;background:#dcebed;color:#53747d;font-size:10px;font-weight:900}.pearl-bin-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:75px}.pearl-bin-empty{grid-column:1/-1;display:grid;place-items:center;min-height:73px;border:1px dashed rgba(86,120,128,.28);border-radius:10px;color:#9babad;font-size:10px}.pearl-bin.drop-target{border-color:#e26b59;background:#fff5eb;box-shadow:0 0 0 3px rgba(235,107,87,.13);transform:translateY(-1px)}
.pearl-card.organizer-card{min-height:137px;padding:35px 7px 8px;justify-content:flex-start;border-radius:11px}.organizer-card .pearl-drag-handle{position:absolute;left:6px;right:6px;top:6px;display:flex;align-items:center;justify-content:center;gap:5px;min-height:25px;border:1px solid rgba(66,104,114,.16);border-radius:7px;background:#e7f0ef;color:#58757d;font-size:9px;font-weight:900;touch-action:none;cursor:grab}.organizer-card .pearl-drag-handle:active{cursor:grabbing;background:#d8e8e7}.pearl-drag-handle i{width:13px;height:8px;background-image:radial-gradient(circle,#75939a 1.2px,transparent 1.4px);background-size:5px 4px}.organizer-card .pearl-dot{margin-top:4px}.organizer-card>b{font-size:10.5px}.organizer-card>small{font-size:9px}.organizer-card .mini-sell{width:100%;min-height:28px;margin-top:auto;padding:5px;font-size:9px}.organizer-card.drop-before::after{content:"";position:absolute;z-index:4;left:-5px;top:6px;bottom:6px;width:3px;border-radius:3px;background:#eb6b57;box-shadow:0 0 0 2px rgba(255,245,220,.9)}.pearl-drag-source{opacity:.25}.pearl-drag-ghost{position:fixed!important;z-index:250!important;margin:0!important;pointer-events:none!important;opacity:.94;transform:rotate(2deg) scale(1.04);box-shadow:0 15px 30px rgba(36,64,71,.3)!important}.pearl-drag-ghost *{pointer-events:none!important}.sorting-pearls{user-select:none;-webkit-user-select:none}.sorting-pearls .view{overscroll-behavior:none}
@media(max-width:360px){.pearl-bin-body{gap:6px}.pearl-card.organizer-card{min-height:132px;padding-inline:5px}.pearl-organizer-head small{font-size:9.5px}}

/* Three collectible rarity tiers: moonlight, sea-god and the 1/20,000 cosmic pearl. */
.pearl-dot.precious{border-color:#d59b62;box-shadow:inset -5px -7px 10px rgba(118,67,62,.16),0 0 0 3px rgba(255,240,176,.72),0 0 15px 5px rgba(243,181,105,.43);animation:preciousGlow 1.7s ease-in-out infinite alternate}.pearl-dot.precious::before{color:#fff0a5;text-shadow:-19px 13px 0 #ffd6aa,-4px 33px 0 #fff4d5}.pearl-dot.precious::after{border-color:rgba(206,143,83,.5)}
.rare-tag.precious{border-color:rgba(200,137,72,.34);background:linear-gradient(90deg,#fff4c9,#f8d59e,#f3c3a9);color:#89572f!important}.rare-tag.sea{background:linear-gradient(90deg,#fff3b7,#d2f5ef,#e2ccf5)}.rare-tag.cosmic{border-color:rgba(117,89,205,.45);background:linear-gradient(90deg,#19112f,#44348b,#187f8d);color:#fff8c8!important;box-shadow:0 0 10px rgba(89,211,204,.35)}
.pearl-card.rare-card.precious,.pick-pearl.rare-card.precious,.loose-string-pearl.rare-card.precious{border-color:rgba(206,145,81,.52);background:linear-gradient(145deg,#fffaf0,#fff0ce 55%,#f5d1c2)}
.pearl-card.rare-card.cosmic,.pick-pearl.rare-card.cosmic,.loose-string-pearl.rare-card.cosmic{border-color:rgba(102,78,187,.72);background:linear-gradient(145deg,#f9f4df,#d9f7ef 35%,#d9d0f3 68%,#b7a5df);box-shadow:0 0 0 2px rgba(126,239,220,.5),0 8px 27px rgba(68,46,126,.27)}
.game-pearl.precious{border-color:#ffe5a0;background:radial-gradient(circle at 28% 23%,#fffdf4 0 8%,#fff3b7 19%,#f4c979 43%,#df9b77 68%,#9e6e80 100%);box-shadow:inset -10px -12px 16px rgba(105,59,61,.16),0 0 0 5px rgba(255,235,157,.7),0 0 28px 14px rgba(243,175,95,.48)}
.game-pearl.precious::after{content:"珍稀 1/100"}.game-pearl.sea::after{content:"海神 1/2000"}
.game-pearl.cosmic{border-color:#c7fff3;background:radial-gradient(circle at 27% 22%,#fff 0 5%,#f7eeff 10%,#78f4e0 24%,#5974ea 43%,#8b42ca 61%,#25134e 80%,#09051d 100%);box-shadow:inset -11px -14px 19px rgba(4,1,20,.42),0 0 0 5px rgba(145,255,234,.72),0 0 32px 18px rgba(84,224,216,.65),0 0 64px 32px rgba(110,65,221,.46);animation:cosmicPearl 1s ease-in-out infinite alternate}.game-pearl.cosmic::after{content:"万中无一";background:#17102c;color:#fff2a8;border-color:#6ce5d6}
.clean-pearl.precious{border-color:#d99f68;box-shadow:inset -12px -14px 18px rgba(98,58,55,.16),0 0 0 5px rgba(255,235,157,.7),0 0 24px 12px rgba(240,174,101,.46)}.clean-pearl.cosmic{border-color:#7cf3df;box-shadow:inset -12px -14px 18px rgba(16,8,44,.3),0 0 0 5px rgba(137,255,234,.7),0 0 32px 16px rgba(72,224,211,.62),0 0 54px 28px rgba(104,59,210,.42);animation:cosmicPearl 1.05s ease-in-out infinite alternate}
.string-view #strungBeads button.precious{box-shadow:inset -6px -7px 10px rgba(99,57,56,.14),0 0 0 3px #ffe6a0,0 0 15px rgba(238,164,85,.55)}.string-view #strungBeads button.cosmic{box-shadow:inset -6px -7px 10px rgba(11,5,35,.32),0 0 0 4px #8ff9e7,0 0 22px 10px rgba(92,88,224,.55)}
@keyframes preciousGlow{from{filter:saturate(1) brightness(1)}to{filter:saturate(1.2) brightness(1.12)}}@keyframes cosmicPearl{from{filter:saturate(1.05) brightness(.96)}to{filter:saturate(1.35) brightness(1.18)}}

.legendary-discovery-backdrop,.vip-offer-backdrop{position:fixed;z-index:230;inset:0;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 38%,rgba(72,70,145,.5),rgba(20,32,43,.78));opacity:0;pointer-events:none;transition:opacity .22s}.legendary-discovery-backdrop.open,.vip-offer-backdrop.open{opacity:1;pointer-events:auto}.legendary-discovery-sheet,.vip-offer-sheet{position:relative;width:min(100%,430px);overflow:hidden;padding:27px 23px 22px;border:1px solid rgba(139,255,235,.54);border-radius:24px;background:linear-gradient(155deg,#17102d,#263f69 53%,#126c73);box-shadow:0 0 0 5px rgba(197,255,240,.12),0 18px 55px rgba(8,12,30,.48);color:#f9f4dc;text-align:center;transform:translateY(12px) scale(.96);transition:transform .25s}.legendary-discovery-backdrop.open .legendary-discovery-sheet,.vip-offer-backdrop.open .vip-offer-sheet{transform:none}.legendary-discovery-sheet>span,.vip-offer-sheet>span{display:inline-block;padding:5px 10px;border:1px solid rgba(139,255,235,.4);border-radius:99px;background:rgba(9,15,37,.38);color:#9ff7e7;font-size:10px;font-weight:900;letter-spacing:.08em}.legendary-orb{width:105px;height:105px;margin:20px auto 15px;border:2px solid #c7fff3;border-radius:50%;background:radial-gradient(circle at 27% 22%,#fff 0 5%,#f7eeff 10%,#78f4e0 24%,#5974ea 43%,#8b42ca 61%,#25134e 80%,#09051d 100%);box-shadow:inset -12px -15px 20px rgba(4,1,20,.45),0 0 0 6px rgba(143,255,234,.2),0 0 32px 18px rgba(83,226,211,.57),0 0 65px 32px rgba(113,68,224,.43);animation:cosmicPearl 1s ease-in-out infinite alternate}.legendary-discovery-sheet h2,.vip-offer-sheet h2{font:900 28px/1.25 "KaiTi","Kaiti SC","STKaiti",serif}.legendary-discovery-sheet p{margin-top:11px;color:#cde5df;font-size:11px;line-height:1.75}.legendary-discovery-sheet button,.vip-offer-buttons button{min-height:47px;border-radius:11px;font-size:11.5px;font-weight:900}.legendary-discovery-sheet>button{width:100%;margin-top:20px;background:linear-gradient(90deg,#f2d27f,#fff3b5);color:#45345f;box-shadow:0 4px 0 #876c52}.legendary-stars i{position:absolute;color:#fff4aa;font-size:19px;font-style:normal;animation:rareSparkle 1.2s steps(2,end) infinite}.legendary-stars i:nth-child(1){left:9%;top:13%}.legendary-stars i:nth-child(2){right:11%;top:20%;animation-delay:.2s}.legendary-stars i:nth-child(3){left:16%;top:48%;animation-delay:.4s}.legendary-stars i:nth-child(4){right:14%;top:54%;animation-delay:.6s}.legendary-stars i:nth-child(5){right:24%;bottom:9%;animation-delay:.8s}
.vip-offer-backdrop{z-index:225;background:rgba(37,56,61,.68)}.vip-offer-sheet{border-color:rgba(203,162,83,.48);background:#fbf7e9;color:#315568;text-align:left;box-shadow:0 11px 0 rgba(55,72,75,.25),0 28px 60px rgba(27,48,54,.28)}.vip-offer-sheet>span{border-color:rgba(181,125,49,.25);background:#f2d78f;color:#745833}.vip-offer-sheet>p{margin-top:14px;color:#8a704e;font-size:11px;font-weight:900}.vip-offer-sheet h2{margin-top:6px;color:#2b5164}.vip-offer-sheet>strong{display:block;margin-top:15px;color:#e45e4d;font:900 35px/1 Georgia,serif}.vip-offer-sheet>small{display:block;margin-top:13px;padding:11px 12px;border-left:3px solid #d5ad61;border-radius:0 9px 9px 0;background:#fff5d9;color:#756b59;font-size:10.5px;line-height:1.65}.vip-offer-buttons{display:grid;grid-template-columns:1.2fr 1fr;gap:9px;margin-top:19px}.vip-offer-buttons button:first-child{background:#eb6b57;color:#fff9ed;box-shadow:0 3px 0 #a64b3d}.vip-offer-buttons button:last-child{border:1px solid rgba(64,99,110,.23);background:#e2edef;color:#52717c}.vip-offer-sheet>em{display:block;margin-top:12px;color:#9a9b8e;font-size:9px;font-style:normal;text-align:center}
.legendary-discovery-sheet p{font-size:12.5px}.legendary-discovery-sheet button,.vip-offer-buttons button{font-size:12px}.vip-offer-sheet>p{font-size:12px}.vip-offer-sheet>small{font-size:12.5px}.vip-offer-sheet>em{color:#8d9188;font-size:10px}

/* Pearl color and millimetre size stay visible in every inventory/crafting view. */
.pearl-dot{max-width:40px;max-height:40px}.product-beads span{transform:scale(var(--art-scale,1))}
.game-pearl{left:50%;top:146px;width:var(--game-size,82px);height:var(--game-size,82px);margin:0;transform:translate(-50%,-50%) scale(.7)}.game-oyster.open .game-pearl{transform:translate(-50%,-50%) scale(1)}
.game-pearl.baroque{width:var(--game-baroque-w);height:var(--game-baroque-h);border:0;border-radius:0;background:transparent url("./images/pearl-baroque-watercolor-320.png") center/contain no-repeat!important;filter:drop-shadow(0 7px 6px rgba(47,65,67,.24)) var(--baroque-tint)}
.clean-pearl.baroque{width:var(--clean-baroque-w);height:var(--clean-baroque-h);margin:calc(var(--clean-baroque-h) / -2) 0 0 calc(var(--clean-baroque-w) / -2);border:0;border-radius:0;background:transparent url("./images/pearl-baroque-watercolor-320.png") center/contain no-repeat!important;filter:var(--baroque-tint)}
.string-view #strungBeads button.baroque{border:0;border-radius:0;background:transparent url("./images/pearl-baroque-watercolor-320.png") center/contain no-repeat!important;filter:drop-shadow(0 4px 4px rgba(63,48,39,.25)) var(--baroque-tint);transform:rotate(-8deg)}
.string-view .loose-string-pearl .pearl-dot{width:var(--size)!important;height:var(--size)!important;max-width:40px;max-height:40px}.string-view .loose-string-pearl .pearl-dot.baroque{width:var(--baroque-w)!important;height:var(--baroque-h)!important;max-width:none;max-height:none}
.pearl-color-white{--baroque-tint:grayscale(.78) saturate(.45) brightness(1.08)}.pearl-color-pink{--baroque-tint:hue-rotate(306deg) saturate(1.42) brightness(1.02)}.pearl-color-gold{--baroque-tint:sepia(.38) saturate(1.62) hue-rotate(345deg) brightness(1.02)}.pearl-color-blue{--baroque-tint:hue-rotate(132deg) saturate(1.48) brightness(.96)}.pearl-color-green{--baroque-tint:hue-rotate(72deg) saturate(1.55) brightness(.88)}.pearl-color-silver{--baroque-tint:grayscale(.86) saturate(.28) brightness(.92)}
.pearl-bin>header aside{display:flex;align-items:center;gap:7px}.pearl-bin>header aside button{padding:5px 8px;border:1px solid rgba(62,99,110,.2);border-radius:7px;background:#f7efe0;color:#8a6950;font-size:9px;font-weight:900}.pearl-bin>header aside button:active{transform:translateY(1px)}.pearl-bin>header aside span{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:50%;background:#dcebed;color:#53747d;font-size:10px;font-weight:900}.rename-bin-field{display:flex;flex-direction:column;gap:7px;margin-top:17px}.rename-bin-field small{color:#6f858c;font-size:10px;font-weight:800}.rename-bin-field input{width:100%;min-height:48px;padding:11px 13px;border:1.5px solid rgba(57,92,104,.34);border-radius:10px;outline:0;background:#f2f6f2;color:#294e63;font:800 16px -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-user-select:text;user-select:text}.rename-bin-field input:focus{border-color:#eb6b57;box-shadow:0 0 0 3px rgba(235,107,87,.13)}
.work-grid .achievement-entry{grid-column:1/-1;min-height:70px;background:linear-gradient(110deg,#f8f2df,#e4f0f1)}.achievement-entry .work-emoji{background:#f1d68f;color:#745c35}
.achievement-view{background:#dcecf1;background-image:radial-gradient(rgba(62,103,116,.1) .7px,transparent .9px);background-size:7px 7px}.achievement-back{display:flex;align-items:center;gap:6px;margin-bottom:12px;color:#587985;font-size:11px;font-weight:900}.achievement-back span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f7f4e9;font-size:22px}.achievement-heading h2{font-family:"KaiTi","Kaiti SC","STKaiti",serif;color:#294e63}.achievement-progress{height:8px;margin-top:14px;overflow:hidden;border:1px solid rgba(72,112,123,.2);border-radius:99px;background:rgba(255,255,255,.55)}.achievement-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#eecb70,#eb6b57);transition:width .35s}.achievement-grid{display:grid;gap:13px;margin-top:16px;padding-bottom:22px}.achievement-card{position:relative;display:grid;grid-template-columns:112px 1fr;gap:12px;padding:11px;border:1px solid rgba(57,92,104,.22);border-radius:16px;background:rgba(253,251,242,.94);box-shadow:0 5px 0 rgba(59,91,99,.1)}.achievement-card.locked{filter:saturate(.35);opacity:.72}.achievement-card-art,.achievement-unlock-art{background-image:url("./achievement-atlas.png");background-size:300% 300%;background-position:var(--achievement-x) var(--achievement-y);background-repeat:no-repeat}.achievement-card-art{position:relative;width:112px;height:112px;overflow:hidden;border:1px solid rgba(66,96,102,.2);border-radius:12px;background-color:#f8f1df}.achievement-card-art::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 4px rgba(255,252,240,.35);pointer-events:none}.achievement-card-art i{position:absolute;z-index:2;right:7px;bottom:7px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eb6b57;color:#fff;font-style:normal;font-size:11px;font-weight:900}.achievement-card.locked .achievement-card-art{filter:grayscale(.75)}.achievement-card.locked .achievement-card-art i{background:#6e858c}.achievement-card-copy{min-width:0;display:flex;flex-direction:column}.achievement-card-copy small{color:#a56c50;font-size:8px;font-weight:900}.achievement-card-copy b{margin-top:4px;color:#294e63;font:900 17px/1.15 "KaiTi","Kaiti SC","STKaiti",serif}.achievement-card-copy p{margin-top:5px;color:#71868c;font-size:9px;line-height:1.45}.achievement-card-progress{height:5px;margin-top:auto;overflow:hidden;border-radius:99px;background:#d8e3e2}.achievement-card-progress i{display:block;height:100%;border-radius:inherit;background:#e5b95e}.achievement-card-copy em{margin-top:4px;color:#82969b;font-style:normal;font-size:8px}.achievement-card>button{grid-column:1/-1;width:100%;padding:9px;border-radius:8px;background:#eb6b57;color:#fffaf0;font-size:10px;font-weight:900;box-shadow:0 3px 0 #a54e42}
.achievement-unlock-backdrop{position:fixed;z-index:220;inset:0;display:grid;place-items:center;padding:24px;background:rgba(35,59,66,.68);opacity:0;pointer-events:none;transition:opacity .22s}.achievement-unlock-backdrop.open{opacity:1;pointer-events:auto}.achievement-unlock-sheet{width:min(100%,410px);padding:20px;border:1px solid rgba(71,105,114,.28);border-radius:24px;background:#fbf8eb;box-shadow:0 12px 0 rgba(38,66,73,.2),0 28px 60px rgba(25,44,49,.28);text-align:center;transform:translateY(12px) scale(.97);transition:transform .25s}.achievement-unlock-backdrop.open .achievement-unlock-sheet{transform:none}.achievement-unlock-sheet>span{display:inline-block;padding:5px 10px;border-radius:5px;background:#eb6b57;color:#fff9ed;font-size:10px;font-weight:900;transform:rotate(-2deg)}.achievement-unlock-art{width:210px;height:210px;margin:15px auto 0;border:6px solid #fffaf0;border-radius:20px;background-color:#e5eff0;box-shadow:0 7px 18px rgba(48,76,83,.18)}.achievement-unlock-sheet>small{display:block;margin-top:13px;color:#a26e4e;font-size:9px;font-weight:900}.achievement-unlock-sheet h2{margin-top:5px;color:#294e63;font:900 28px/1.16 "KaiTi","Kaiti SC","STKaiti",serif}.achievement-unlock-sheet p{margin-top:8px;color:#6e8389;font-size:10px;line-height:1.55}.achievement-unlock-sheet>div:last-child{display:grid;grid-template-columns:1.2fr 1fr;gap:9px;margin-top:17px}.achievement-unlock-sheet button{min-height:44px;padding:8px;border-radius:9px;font-size:10px;font-weight:900}.achievement-unlock-sheet button:first-child{background:#eb6b57;color:#fff9ed;box-shadow:0 3px 0 #a54e42}.achievement-unlock-sheet button:last-child{border:1px solid rgba(62,99,110,.2);background:#e1ecec;color:#52717b}
@media(max-width:360px){.achievement-card{grid-template-columns:94px 1fr}.achievement-card-art{width:94px;height:94px}.achievement-unlock-art{width:180px;height:180px}.achievement-unlock-sheet h2{font-size:25px}}

/* Achievement titles are first-class collectibles, not captions hidden under artwork. */
.achievement-card-copy small{align-self:flex-start;padding:3px 7px;border-radius:99px;background:#f2dfac;color:#8b6043;font-size:9px}
.achievement-title-label{margin-top:8px;color:#78909a;font-size:9px;font-weight:900;letter-spacing:.12em}
.achievement-card-copy b{margin-top:2px;font-size:21px;line-height:1.15}
.achievement-card-copy p{margin-top:6px;color:#687f87;font-size:10.5px;line-height:1.5}
.achievement-card-progress{height:6px}.achievement-card-copy em{margin-top:5px;color:#748b92;font-size:9px;font-weight:800}
.achievement-card>button{padding:10px;font-size:11px}
.achievement-unlock-sheet>small{display:inline-block;padding:4px 9px;border-radius:99px;background:#f2dfac;color:#8b6043}
.achievement-unlock-kicker{display:block;margin-top:10px;color:#78909a;font-size:10px;letter-spacing:.18em}
.achievement-unlock-sheet h2{margin-top:4px;font-size:31px}.achievement-unlock-sheet p{font-size:11px}
@media(max-width:360px){.achievement-card-copy b{font-size:19px}.achievement-unlock-sheet h2{font-size:28px}}
