/* Clean V1 runtime styles: one interaction layer, no tap-blocking overlays. */
.sl-mark{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:24%;background:#efe2c9;box-shadow:0 7px 18px rgba(70,50,32,.10)}
.sl-mark img{display:block;width:100%;height:100%;object-fit:cover}
.sl-mark-home{width:82px;height:82px;margin:0 auto 17px}
.sl-mark-settings{width:58px;height:58px;margin:8px 0 14px}

/* Slow Life remains the focus; SOWILO appears as a discreet project attribution. */
.clean-home{width:min(100%,440px);transform:translateY(-.5svh)}
.clean-home .sl-mark-home{width:92px;height:92px;margin:0 auto 14px}
.clean-home .entry-product{margin:0 0 10px;font-size:clamp(34px,9.2vw,50px);line-height:.96;letter-spacing:.09em}
.clean-home .entry-presented{margin:0;font-size:10px;letter-spacing:.12em;color:#70645d}
.clean-home .sl-home-sowilo{display:flex;flex-direction:column;align-items:center;gap:5px;margin:1px auto 0}
.clean-home .sl-home-sowilo a{display:inline-flex;align-items:center;justify-content:center;line-height:0;max-width:60vw}
.clean-home .sl-home-sowilo img{display:block;width:min(40vw,156px);height:auto;max-height:55px;object-fit:contain}
.clean-home .entry-claim{margin:18px 0 24px;font-size:clamp(20px,5vw,25px);line-height:1.25}
.clean-home .entry-button{min-width:160px;padding:13px 24px;font-size:17px}

.agreement-shell{width:min(100%,560px)}
.agreement-shell .entry-claim{margin-bottom:24px;font-style:normal;font-size:clamp(28px,7vw,40px);font-weight:600}
.agreement-copy{width:min(100%,500px);margin:0 auto;text-align:left}
.agreement-copy p{font-family:Georgia,"Times New Roman",serif;margin:0 0 16px;font-size:17px;line-height:1.55;color:#4d4036}

.sl-vibe-screen{position:relative;min-height:100svh;overflow:hidden;background:radial-gradient(circle at 47% 42%,#233b50 0%,#152a3c 44%,#09131f 100%);color:#17212b}
.sl-vibe-scene{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.sl-shape{position:absolute;opacity:.56;mix-blend-mode:screen;pointer-events:none;will-change:transform}
.sl-shape-1{width:62vw;height:64vw;left:-18vw;top:16vh;background:#ff675f;clip-path:polygon(50% 0,100% 88%,0 100%)}
.sl-shape-2{width:68vw;height:50vw;left:20vw;top:15vh;background:#4167ff;clip-path:polygon(8% 12%,98% 0,88% 96%,0 79%)}
.sl-shape-3{width:55vw;height:38vw;left:56vw;top:46vh;background:#f6c94b;border-radius:50%}
.sl-shape-4{width:58vw;height:62vw;left:-18vw;top:66vh;background:#25b6a6;clip-path:polygon(50% 0,100% 34%,82% 100%,17% 92%,0 36%)}
.sl-shape-5{width:60vw;height:48vw;left:66vw;top:67vh;background:#a875ef;border-radius:22% 34% 18% 28%/28% 18% 32% 22%}

.sl-back,.sl-menu{position:absolute;z-index:20;top:max(18px,env(safe-area-inset-top));display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:rgba(247,248,247,.92);box-shadow:0 8px 22px rgba(0,0,0,.16);cursor:pointer}
.sl-back{left:20px;font-size:32px;line-height:1;padding:0 2px 3px 0}
.sl-menu{right:20px;font-size:17px;letter-spacing:2px;padding:0 0 6px 2px}

.sl-vibe-card{position:absolute;z-index:10;left:50%;bottom:max(18px,2.7svh);transform:translateX(-50%);width:min(82vw,460px);padding:18px 18px 16px;border-radius:24px;background:rgba(245,244,239,.78);border:1px solid rgba(255,255,255,.56);box-shadow:0 10px 30px rgba(0,0,0,.16);text-align:center;pointer-events:auto}
.sl-vibe-card h1{margin:0 0 15px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,sans-serif;font-size:23px;line-height:1.14;font-weight:430;letter-spacing:-.028em;color:#17212b}
.sl-thread-note{margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid rgba(88,64,43,.20);font-size:13px;line-height:1.45;color:#65717a}
.sl-thread-reminder{position:absolute;z-index:12;left:50%;top:max(78px,calc(env(safe-area-inset-top) + 66px));transform:translateX(-50%);display:grid;gap:3px;width:min(82vw,460px);padding:10px 14px;border:1px solid rgba(255,255,255,.20);border-radius:15px;background:rgba(9,19,31,.66);box-shadow:0 8px 24px rgba(0,0,0,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f4f1e9;text-align:left;pointer-events:none}
.sl-thread-reminder-label{font:700 9px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase;opacity:.68}
.sl-thread-reminder-title{font:500 13px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif}
.sl-vibe-grid,.sl-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sl-wide{grid-column:1/-1}
.sl-primary,.sl-secondary{position:relative;z-index:2;width:100%;min-width:0;min-height:46px;border-radius:999px;padding:10px 16px;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.sl-primary{border:0;background:#17212b;color:#f8fafb}
.sl-secondary{border:1px solid rgba(23,33,43,.18);background:rgba(255,255,255,.78);color:#28343e}
.sl-primary:active,.sl-secondary:active{transform:translateY(1px)}
.sl-time-back{margin-top:10px;color:#596873;touch-action:manipulation}
.sl-vibe-card.is-leaving{opacity:0;transform:translateX(-50%) translateY(22px) scale(.97);transition:opacity .34s ease,transform .34s ease;pointer-events:none}
.sl-stay-return{position:absolute;z-index:15;left:50%;bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px));transform:translate(-50%,14px);opacity:0;min-height:42px;padding:9px 18px;border:1px solid rgba(255,255,255,.46);border-radius:999px;background:rgba(11,24,36,.52);color:#f4f1e9;font:inherit;font-size:14px;letter-spacing:.01em;cursor:pointer;touch-action:manipulation;transition:opacity .46s ease,transform .46s ease}
.sl-stay-return.is-visible{opacity:.92;transform:translate(-50%,0)}
.sl-stay-return:active{transform:translate(-50%,1px)}

.sl-transition{position:fixed;inset:0;z-index:9999;overflow:hidden;pointer-events:none}
.sl-transition-surface{position:fixed;left:var(--sl-x);top:var(--sl-y);width:160vmax;height:160vmax;border-radius:42%;background:var(--sl-color);transform:translate(-50%,-50%) scale(.005);transform-origin:50% 50%;transition:transform .72s cubic-bezier(.42,0,.18,1);will-change:transform}
.sl-transition-surface.grow{transform:translate(-50%,-50%) scale(1)}
.sl-transition-surface.wipe{transform:translate(calc(-50% + 125vw),-50%) scale(1);transition-duration:.78s;transition-timing-function:cubic-bezier(.62,.02,.2,1)}

.sl-idea-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:max(82px,calc(env(safe-area-inset-top) + 64px)) 30px max(24px,calc(env(safe-area-inset-bottom) + 16px));color:#33271f;background:radial-gradient(circle at 14% 12%,rgba(184,135,61,.10),transparent 30%),radial-gradient(circle at 88% 18%,rgba(120,42,57,.055),transparent 26%),linear-gradient(180deg,#fbf4e8 0%,#f3e8d6 70%,#ead8bc 100%)}
.sl-idea-back{position:fixed;z-index:20;left:20px;top:max(18px,env(safe-area-inset-top));font-size:31px;line-height:1;padding:0 2px 3px 0;border:1px solid rgba(90,65,48,.14);background:rgba(251,244,232,.92);color:#4a3428;box-shadow:0 7px 18px rgba(74,52,40,.09)}
.sl-idea-stage{position:relative;z-index:2;width:min(100%,690px);min-height:min(650px,calc(100dvh - 154px));margin:auto;text-align:left;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.sl-idea-rule{width:48px;height:3px;margin:0 0 18px;border-radius:999px;background:#782a39;opacity:.88;transition:width .32s ease,opacity .32s ease}
.sl-idea-copy{align-self:center;padding:18px 0 24px}
.sl-idea-copy h1{max-width:650px;margin:0 0 24px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(31px,6.5vw,48px);line-height:1.04;font-weight:600;letter-spacing:-.025em;color:#3f2b22}
.sl-idea-copy p{max-width:610px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,3.6vw,22px);line-height:1.52;color:#68564a}
.sl-idea-actions{align-self:end;display:flex;align-items:center;gap:15px;margin:0 0 6px;transition:opacity .18s ease,transform .18s ease}
.sl-idea-actions.is-confirming{opacity:0;transform:translateY(7px)}
.sl-idea-actions.is-accepted{opacity:1;transform:none}
.sl-idea-actions .sl-primary{width:auto;min-width:152px;padding:11px 22px;background:#782a39;color:#fff5e9}
.sl-idea-link{border:0;background:transparent;color:#78695d;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;padding:12px 8px;font:inherit;cursor:pointer;touch-action:manipulation}
.sl-idea-confirm{display:inline-flex;align-items:center;gap:10px;padding:10px 17px;border:1.5px solid rgba(120,42,57,.72);border-radius:999px;color:#782a39;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;font-size:15px;letter-spacing:.01em;background:rgba(120,42,57,.035)}
.sl-idea-confirm-check{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#782a39;color:#fff5e9;font-size:13px;line-height:1}
.sl-idea-stage.is-accepted .sl-idea-rule{width:66px;opacity:1}

.settings-sheet,.sheet-backdrop{pointer-events:auto}
.sowilo-credit{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:18px 0 0;max-width:100%}
.sowilo-credit-label,.sowilo-credit-developer{font-size:12px;line-height:1.4;color:#8a7a6d}
.sowilo-credit a{display:inline-block;line-height:0;max-width:100%}
.sowilo-credit img{display:block;width:185px;height:auto;max-width:100%}
.copyright-line{margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(87,62,45,.20);font-size:11.5px;line-height:1.45;color:#8a7a6d}

/* Keep sound status visually attached to the sound control row. */
.settings-sheet .sound-actions + .audio-status{margin:-46px 62px 0 0;min-height:46px;display:flex;align-items:center;font-size:12.5px;line-height:1.35}

/* Desktop keeps the same compact, layered feel as mobile. */
@media(min-width:700px){
  .sl-vibe-scene{inset:-14%;transform:scale(.78);transform-origin:50% 50%}
  .sl-shape-1{width:min(62vw,76vh);height:min(64vw,78vh)}
  .sl-shape-2{width:min(68vw,82vh);height:min(50vw,60vh)}
  .sl-shape-3{width:min(55vw,66vh);height:min(38vw,46vh)}
  .sl-shape-4{width:min(58vw,68vh);height:min(62vw,76vh)}
  .sl-shape-5{width:min(60vw,70vh);height:min(48vw,56vh)}
}

@media(max-width:520px){
  .sl-mark-home{width:76px;height:76px;margin-bottom:14px}
  .clean-home .sl-mark-home{width:88px;height:88px;margin-bottom:13px}
  .clean-home .entry-product{font-size:clamp(34px,10.2vw,44px)}
  .clean-home .brand-logo{width:min(43vw,166px)}
  .clean-home .entry-claim{margin:17px 0 23px;font-size:21px}
  .sl-mark-settings{width:54px;height:54px}
  .agreement-copy p{font-size:16px;line-height:1.52}
  .sl-vibe-card{width:calc(100vw - 48px);padding:17px 16px 14px}
  .sl-vibe-grid,.sl-time-grid{gap:8px}
  .sl-primary,.sl-secondary{min-height:45px;font-size:14px}
  .sl-idea-screen{min-height:100dvh;align-items:flex-start;padding:max(74px,calc(env(safe-area-inset-top) + 56px)) 25px max(14px,calc(env(safe-area-inset-bottom) + 10px))}
  .sl-idea-stage{min-height:calc(100dvh - 146px);margin:0 auto}
  .sl-idea-rule{width:40px;margin-bottom:10px}
  .sl-idea-copy{padding:14px 0 22px}
  .sl-idea-copy h1{margin-bottom:20px;font-size:clamp(27px,7.2vw,34px);line-height:1.01;letter-spacing:-.03em}
  .sl-idea-copy p{font-size:16.5px;line-height:1.46}
  .sl-idea-actions{margin-bottom:8px;gap:12px}
  .sl-idea-actions .sl-primary{min-width:134px;min-height:43px;padding:9px 18px}
  .sl-idea-link{padding:10px 6px}
  .sl-idea-confirm{padding:9px 15px;font-size:14.5px}
}

@media(max-width:520px) and (max-height:760px){
  .sl-idea-screen{padding-top:max(68px,calc(env(safe-area-inset-top) + 50px))}
  .sl-idea-stage{min-height:calc(100dvh - 132px)}
  .sl-idea-rule{margin-bottom:8px}
  .sl-idea-copy{padding:10px 0 16px}
  .sl-idea-copy h1{font-size:clamp(25px,6.8vw,31px);margin-bottom:15px}
  .sl-idea-copy p{font-size:15.8px;line-height:1.42}
}