@import url("/assets/action-colors.css");
:root{--navy:#12304d;--green:#0e9066;--green-dark:#0b6b4d;--mint:#eafaf3;--blue:#edf6fb;--coral:#f0644f;--muted:#718188;--line:#dce9e5;--bg:#fff;--paper:#fff;--danger:#b34848}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--navy);font-family:"Noto Sans JP","Yu Gothic",system-ui,sans-serif}body{min-height:100dvh;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}input,select,textarea{font-size:16px}:focus-visible{outline:3px solid #4b93c8;outline-offset:2px}
.app-loading{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted)}.app-loading span{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}.app-loading p{font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}
.app-shell{min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.app-header,.settings-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.app-header h1,.settings-header h1{margin:0;text-align:center;font-size:18px}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent}.icon-button svg{width:23px;height:23px}.header-count{justify-self:center;min-width:24px;height:24px;padding:0 7px;display:grid;place-items:center;border-radius:99px;background:var(--coral);color:#fff;font-size:11px;font-weight:800}
#appMain{width:100%;max-width:680px;margin:auto}.app-page{display:none;padding:22px 16px}.app-page.active{display:block}.page-stack,.card-list{display:grid;gap:13px}.page-intro{margin-bottom:20px}.page-intro.compact{margin-bottom:12px}.kicker{margin:0 0 6px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.16em}.page-intro h2{margin:0;font-size:27px;line-height:1.35}.page-intro>p:last-child{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.75}
.hero-card{padding:24px 21px;border-radius:20px;background:linear-gradient(145deg,var(--green),var(--green-dark));color:#fff}.hero-card small{display:block;color:#cceee4;font-size:10px;font-weight:800;letter-spacing:.12em}.hero-card h2{margin:8px 0 7px;font-size:23px}.hero-card p{margin:0;color:#e3f5ef;font-size:13px;line-height:1.75}.hero-card .primary-button{margin-top:18px;background:#fff;color:var(--green-dark)}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-card,.content-card,.person-card,.request-card,.profile-card{border:1px solid var(--line);border-radius:16px;background:var(--paper)}.summary-card{padding:17px}.summary-card small,.profile-card small{display:block;color:var(--muted);font-size:11px}.summary-card b{display:block;margin-top:7px;font-size:25px}.summary-card b em{font-size:11px;font-style:normal}.section-title{display:flex;align-items:center;justify-content:space-between;margin:10px 2px 0}.section-title h3{margin:0;font-size:15px}
.primary-button,.secondary-button{min-height:46px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-size:13px;font-weight:800}.primary-button{border:0;background:var(--green);color:#fff}.secondary-button{border:1px solid var(--line);background:#fff}.primary-button:disabled{opacity:.55}.empty-state,.error-state{padding:34px 20px;text-align:center;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--muted);font-size:13px;line-height:1.8}.error-state{border-color:#eccaca;color:var(--danger)}
.filter-row{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 17px;padding:0 16px 3px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-row select{flex:0 0 auto;max-width:170px;min-height:44px;padding:0 34px 0 12px;border:1px solid var(--line);border-radius:99px;background:#fff}.person-card{overflow:hidden}.person-main{display:grid;grid-template-columns:68px 1fr;gap:14px;padding:16px}.person-photo{width:68px;height:76px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:var(--blue);font-size:22px;font-weight:800}.person-photo img{width:100%;height:100%;object-fit:cover}.person-copy{min-width:0}.person-copy h3{margin:2px 0 5px;font-size:17px}.person-copy p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}.badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.badges span{padding:5px 7px;border-radius:99px;background:var(--mint);color:var(--green-dark);font-size:9px;font-weight:700}.person-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 16px}.request-card{padding:17px}.request-card h3{margin:4px 0 8px;font-size:16px}.request-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.75}.request-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.request-meta span{padding:5px 8px;border-radius:99px;background:var(--blue);font-size:10px}.request-card .primary-button{width:100%;margin-top:14px}
.conversation-list{display:grid;gap:2px}.conversation-item{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:11px;padding:14px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green-dark);font-weight:800}.conversation-copy{min-width:0}.conversation-copy b,.conversation-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-copy b{font-size:14px}.conversation-copy span{margin-top:4px;color:var(--muted);font-size:11px}.unread{min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:var(--coral);color:#fff;font-size:9px;font-weight:800}.thread-view{position:fixed;z-index:25;inset:0;display:grid;grid-template-rows:auto 1fr auto auto;background:var(--bg)}.thread-header{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 6px) 10px 7px;border-bottom:1px solid var(--line);background:#fff}.thread-header b,.thread-header small{display:block}.thread-header b{font-size:14px}.thread-header small{margin-top:2px;color:var(--muted);font-size:10px}.text-link{padding:10px;color:var(--danger);font-size:11px}.thread-messages{min-height:0;overflow-y:auto;padding:17px 14px}.day-sep{margin:13px 0;text-align:center;color:var(--muted);font-size:10px}.bubble-row{display:flex;align-items:end;gap:6px;margin:8px 0}.bubble-row.me{justify-content:flex-start;flex-direction:row-reverse}.bubble{max-width:82%;padding:11px 13px;border-radius:5px 16px 16px 16px;background:#fff;border:1px solid var(--line);font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.bubble-row.me .bubble{border:0;border-radius:16px 5px 16px 16px;background:var(--mint)}.bubble-time{color:var(--muted);font-size:9px}.composer{display:grid;grid-template-columns:1fr 48px;gap:8px;padding:9px 12px;border-top:1px solid var(--line);background:#fff}.composer textarea{max-height:120px;min-height:44px;padding:10px 13px;resize:none;border:1px solid var(--line);border-radius:14px}.composer button{width:48px;height:44px;display:grid;place-items:center;border:0;border-radius:14px;background:var(--green);color:#fff}.composer button svg{width:20px}.safety-copy{margin:0;padding:6px 14px calc(7px + env(safe-area-inset-bottom));background:#fff;color:var(--muted);font-size:9px;text-align:center}.char-counter{margin:0;padding:0 14px;background:#fff;color:var(--muted);font-size:10px;text-align:right}.char-counter.char-counter-warn{color:var(--coral)}.convo-ended{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:99px;background:var(--line);color:var(--muted);font-size:9px;font-weight:800;font-style:normal;vertical-align:middle}
.profile-card{padding:20px}.profile-head{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:15px}.profile-head .avatar{width:68px;height:68px;font-size:20px}.profile-head h2{margin:0 0 4px;font-size:20px}.role-pill{display:inline-flex;margin-top:7px;padding:5px 8px;border-radius:99px;background:var(--mint);color:var(--green-dark);font-size:10px;font-weight:700}.menu-group{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.menu-group h3{margin:0;padding:16px 16px 8px;color:#9aa7ad;font-size:11px;font-weight:600}.menu-row{width:100%;min-height:54px;display:flex;align-items:center;gap:12px;padding:0 16px;border:0;border-top:1px solid #edf2f0;background:#fff;text-align:left;font-size:14px}.menu-group h3+.menu-row{border-top:0}.menu-row span:first-child{flex:1}.menu-row small{color:var(--muted);font-size:10px}.menu-row.danger{color:var(--danger)}
.bottom-nav{position:fixed;z-index:24;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);min-height:calc(68px + env(safe-area-inset-bottom));padding:5px 5px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}.bottom-nav button{position:relative;min-width:0;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:10px;font-weight:700}.bottom-nav button svg{width:21px;height:21px}.bottom-nav button.active{color:var(--navy)}.bottom-nav button.active svg{padding:4px;width:36px;height:28px;border-radius:99px;background:var(--mint)}.bottom-nav i{position:absolute;top:2px;left:calc(50% + 8px);min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:var(--coral);color:#fff;font-size:8px;font-style:normal}
.settings-view{position:fixed;z-index:40;inset:0;overflow-y:auto;background:var(--bg)}.settings-main{width:100%;max-width:680px;margin:auto;padding:22px 16px calc(30px + env(safe-area-inset-bottom));display:grid;gap:16px}.settings-note{margin:0;padding:15px;border-radius:14px;background:var(--blue);color:var(--muted);font-size:11px;line-height:1.7}
.detail-dialog{width:min(560px,calc(100% - 24px));max-height:88dvh;padding:0;border:0;border-radius:20px;color:var(--navy);box-shadow:0 30px 80px #12304d55}.detail-dialog::backdrop{background:#09243c99}.detail-dialog #detailContent{padding:24px}.detail-dialog h2{margin:8px 0 12px}.detail-dialog p{color:var(--muted);font-size:13px;line-height:1.8;white-space:pre-wrap}.dialog-close{width:100%;min-height:52px;border:0;border-top:1px solid var(--line);background:#fff;font-weight:700}.app-toast{position:fixed;z-index:80;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));width:min(360px,calc(100% - 28px));transform:translateX(-50%);padding:13px 15px;border-radius:12px;background:var(--navy);color:#fff;text-align:center;font-size:12px;box-shadow:0 12px 36px #12304d44}
body.keyboard-open .bottom-nav{display:none}body.keyboard-open .app-shell{padding-bottom:0}body.keyboard-open .app-page{padding-bottom:16px}
@media(min-width:700px){.bottom-nav{left:50%;width:680px;transform:translateX(-50%);border-right:1px solid var(--line);border-left:1px solid var(--line)}.app-header{padding-right:calc((100vw - 680px)/2 + 12px);padding-left:calc((100vw - 680px)/2 + 12px)}}
.update-notice{position:fixed;z-index:55;left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));display:grid;gap:12px;padding:16px;border:1px solid rgba(22,50,92,.13);border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(22,50,92,.2)}
.update-notice b{display:block;color:var(--navy);font-size:15px}.update-notice p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.update-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.update-actions .primary-button,.update-actions .secondary-button{min-height:44px;padding:10px 14px}.update-actions .icon-button{margin-left:auto;font-size:23px}body.keyboard-open .update-notice{display:none!important}

/* App surfaces: white reading areas, one green action, quiet supporting rows. */
:root{
  --muted:#60706a;
  --shadow-sm:none;
  --shadow-md:0 12px 32px rgba(18,48,77,.12);
  --shadow-soft:none;
  --lm-green:var(--green);
  --lm-mint:var(--mint);
  --lm-coral:var(--coral);
  --lm-navy:var(--navy);
  --radius-card:12px;
  --radius-control:8px;
}
body{background:var(--paper)}
.app-header,.settings-header{background:var(--paper);box-shadow:none;backdrop-filter:none}
.app-header h1,.settings-header h1{font-size:clamp(18px,4.5vw,20px);font-weight:700}
.app-header>.icon-button{color:var(--navy)}
.page-stack,.card-list{gap:20px}
.page-intro{padding:0;margin-bottom:24px}
.page-intro h2{font-size:clamp(23px,5vw,28px);letter-spacing:0;line-height:1.5}
.hero-card{padding:clamp(20px,4vw,28px);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--mint);color:var(--navy)}
.hero-card h2{max-width:30rem;font-size:clamp(20px,4.7vw,24px);line-height:1.5}
.hero-card p{max-width:30rem;color:var(--muted)}
.hero-card .primary-button{background:var(--green-dark);color:var(--paper)}
.summary-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.summary-card,.content-card,.person-card,.request-card,.profile-card,.menu-group,.empty-state,.error-state{border-radius:var(--radius-card);box-shadow:none}
.summary-card{min-width:0;padding:18px;background:var(--paper)}
.summary-card small{font-size:13px;font-weight:400}
.summary-card b{font-size:28px;font-weight:700}
.summary-card b em{margin-left:4px;font-size:13px}
.summary-card .account-value{font-size:18px}
.section-title{gap:12px;margin-top:12px}
.section-title h3{font-size:clamp(17px,4vw,19px)}
.quick-grid .summary-card{min-height:52px;justify-content:space-between;padding:12px 16px;text-align:left}
.quick-grid .summary-card:after{content:"→";margin-left:auto;color:var(--green-dark)}
.primary-button,.secondary-button{min-width:0;min-height:48px;padding:10px 16px;border-radius:var(--radius-control);font-weight:700;line-height:1.6;overflow-wrap:anywhere;box-shadow:none;transition:background-color .14s ease,border-color .14s ease}
.primary-button{background:var(--green-dark)}
.secondary-button{border-color:var(--line);background:var(--paper)}
.primary-button:hover:not(:disabled){background:var(--green)}
.secondary-button:hover:not(:disabled){background:var(--mint)}
.empty-state{border-style:solid;background:var(--paper)}
.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));margin:0 0 20px;padding:0;overflow:visible}
.filter-row select{width:100%;min-width:0;max-width:none;border-radius:var(--radius-control);box-shadow:none}
.person-main{grid-template-columns:76px minmax(0,1fr);gap:16px}
.person-photo{width:76px;height:84px;border-radius:var(--radius-control);background:var(--mint)}
.person-copy h3{font-weight:700}
.badges span{border-radius:4px;font-size:12px}
.request-card{padding:20px}
.request-meta span{border-radius:4px;font-size:12px}
.conversation-list{gap:0;border-top:1px solid var(--line)}
.conversation-item{min-height:84px;padding:16px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--paper);box-shadow:none}
.conversation-item:hover{background:var(--mint)}
.conversation-copy b{font-size:16px;font-weight:700}
.avatar{background:var(--mint);box-shadow:none;overflow:hidden}
.avatar img{width:100%;height:100%;display:block;object-fit:cover}
.thread-view,.thread-header{background:var(--paper)}
.thread-header{box-shadow:none}
.thread-header>div,.menu-row>span{min-width:0;overflow-wrap:anywhere}
.thread-header b{font-size:16px}
.thread-header small{font-size:12px}
.text-link{min-width:44px;min-height:44px;display:grid;place-items:center;font-size:13px}
.bubble{font-size:15px;line-height:1.8;box-shadow:none}
.bubble-row.me .bubble{background:var(--mint)}
.bubble-time,.day-sep{font-size:11px}
.composer{box-shadow:none}
.composer textarea,.composer button{border-radius:var(--radius-control)}
.composer button{background:var(--green-dark);box-shadow:none}
.safety-copy{font-size:12px;line-height:1.7}
.profile-card{padding:24px 20px;background:var(--paper);color:var(--navy)}
.profile-card small{color:var(--muted);font-size:13px}
.profile-head .avatar{background:var(--mint);color:var(--green-dark);box-shadow:none}
.role-pill{border-radius:4px;background:var(--mint);color:var(--green-dark);font-size:12px}
.menu-group h3{padding:18px 16px 12px;color:var(--navy);font-size:16px;font-weight:700;letter-spacing:0}
.menu-row{min-height:56px;padding:14px 16px;font-size:15px;line-height:1.6}
.menu-row:hover{background:var(--mint)}
.menu-row small{font-size:13px}
.menu-row-static{cursor:default}
.menu-row-static:hover{background:var(--paper)}
.bottom-nav{min-height:calc(72px + env(safe-area-inset-bottom));padding:4px 5px env(safe-area-inset-bottom);border-top:1px solid var(--line);border-radius:0;background:var(--paper);box-shadow:none;backdrop-filter:none}
.bottom-nav button{border-radius:var(--radius-control);color:var(--muted)}
.bottom-nav button.active{background:var(--mint);color:var(--green-dark)}
.bottom-nav button.active svg{width:23px;height:23px;padding:0;background:transparent}
.settings-view{background:var(--paper)}
.settings-note{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper)}
.detail-dialog{border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-md)}
.app-toast{border-radius:var(--radius-control);background:var(--navy);box-shadow:var(--shadow-md)}
.update-notice{border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-md)}
@media(prefers-reduced-motion:reduce){.primary-button,.secondary-button{transition:none}}

/* Discover collections: visible two-column shelves, no horizontal scrolling. */

.discover-guide{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-bottom:22px;padding:15px;border:1px solid #cce8de;border-radius:var(--radius-card);box-shadow:none;background:var(--paper);}
.discover-guide>span{padding:6px 8px;border-radius:999px;background:var(--green);color:#fff;font-size:9px;font-weight:800;letter-spacing:.04em}
.discover-guide b,.discover-guide p{display:block;margin:0}.discover-guide b{font-size:12px}
.discover-guide p{margin-top:4px;color:var(--muted);font-size:14px;line-height:1.75;}
.discover-guide a{min-width:44px;min-height:44px;display:grid;place-items:center;color:var(--green-dark);font-size:11px;font-weight:800}
.discover-guide.is-empty{border-color:#dce6f2;background:var(--paper);}.discover-guide.is-empty>span{background:var(--navy)}
.discover-shelf{margin:0 -4px 29px;padding:0 4px}.shelf-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;margin-bottom:12px}.shelf-heading h3,.shelf-heading p{margin:0}.shelf-heading h3{font-size:17px;letter-spacing:-.03em}
.shelf-heading p{margin-top:4px;color:var(--muted);font-size:14px;line-height:1.75;}.shelf-heading button{min-width:72px;min-height:44px;padding:0;border:0;background:transparent;color:var(--green-dark);font-size:10px;font-weight:800}
.tutor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.tutor-tile{min-width:0;padding:0;overflow:hidden;border:1px solid rgba(15,67,54,.11);text-align:left;transition:transform .15s ease,box-shadow .15s ease;border-radius:var(--radius-card);box-shadow:none;background:var(--paper);}.tutor-tile:active{transform:scale(.975);box-shadow:0 5px 15px rgba(16,53,43,.09)}
.tutor-tile-photo{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;color:var(--green-dark);font-size:30px;background:var(--mint);}.tutor-tile-photo img{width:100%;height:100%;object-fit:cover}.tutor-tile-photo small{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:5px 7px;overflow:hidden;border-radius:999px;background:rgba(8,44,34,.82);color:#fff;font-size:8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;backdrop-filter:blur(6px)}
.tutor-tile-copy{min-height:92px;display:flex;flex-direction:column;padding:11px}.tutor-tile-copy>b,.tutor-tile-copy>small,.tutor-tile-copy>em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-tile-copy>b{font-size:15px}.tutor-tile-copy>small{margin-top:3px;color:var(--muted);font-size:12px}.tutor-tile-copy>em{margin-top:auto;padding-top:8px;color:var(--green-dark);font-size:12px;font-style:normal;font-weight:800}.tutor-tile-copy>em i{color:var(--muted);font-size:8px;font-style:normal}.tutor-tile-copy>em.new-tutor{color:var(--muted);white-space:normal;line-height:1.6}
.all-tutors{scroll-margin-top:78px;padding-top:4px}.all-tutors>.section-title{margin-top:0}.all-tutors>.section-title small{color:var(--green);font-size:9px;font-weight:800;letter-spacing:.12em}.all-tutors .filter-row{margin-top:0}
@media(max-width:350px){.tutor-grid{grid-template-columns:1fr}
.tutor-tile{display:grid;grid-template-columns:112px 1fr;border-radius:var(--radius-card);box-shadow:none;background:var(--paper);}
.tutor-tile-photo{aspect-ratio:1;background:var(--mint);}.tutor-tile-copy{min-height:112px}}

/* Parent story: a warm, vertical reading experience built from real lesson data. */
.parent-home-story,.journey-screen{min-width:0;display:grid;gap:17px}.warm-intro{margin-bottom:2px}.warm-intro>p:last-child{font-weight:700}
.relationship-hero{position:relative;isolation:isolate;overflow:hidden;padding:21px;border-radius:var(--radius-card);box-shadow:none;background:var(--paper);color:var(--navy);border:1px solid var(--line);}
.relationship-person{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px}
.relationship-photo,.journey-photo{display:grid;place-items:center;overflow:hidden;background:var(--lm-mint);color:var(--lm-green);font-size:25px;font-weight:800;border-radius:var(--radius-control);box-shadow:none;border:1px solid var(--line);}.relationship-photo{width:72px;height:80px}.relationship-photo img,.journey-photo img{width:100%;height:100%;object-fit:cover}
.relationship-person small{font-size:9px;font-weight:800;letter-spacing:.06em;color:var(--muted);}.relationship-person h2{margin:3px 0;font-size:22px}
.relationship-person p{margin:0;font-size:10px;color:var(--muted);}
.relationship-days{display:grid;grid-template-columns:1fr 1fr;margin-top:19px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}.relationship-days span{min-width:0;padding:0 11px}
.relationship-days span+span{border-left:1px solid var(--line);}.relationship-days small,.relationship-days b{display:block}
.relationship-days small{font-size:9px;color:var(--muted);}.relationship-days b{margin-top:4px;font-size:15px}
.relationship-copy{margin:14px 0 0;font-size:12px;font-weight:700;color:var(--muted);}
.hero-message-button{width:100%;min-height:46px;margin-top:15px;background:#fff;font-weight:800;border:1px solid var(--green-dark);border-radius:var(--radius-control);box-shadow:none;color:var(--green-dark);font-size:15px;}
.story-section{min-width:0;padding:20px;border:1px solid rgba(210,226,219,.95);border-radius:var(--radius-card);box-shadow:none;background:var(--paper);}.story-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.story-heading small{display:block;color:var(--lm-green);font-family:"Manrope",sans-serif;font-size:8px;font-weight:800;letter-spacing:.17em}.story-heading h3{margin:4px 0 0;font-size:17px;letter-spacing:-.03em}.story-heading time{color:var(--muted);font-size:9px}
.notebook-card{position:relative;background:var(--paper);padding-left:20px;}.milestone-chip{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#fff3df;color:#9a6010;font-size:9px;font-weight:800}.growth-message{margin:17px 0 12px;color:var(--lm-navy);font-size:13px;font-weight:700;line-height:1.75}.understanding-dots{height:62px;display:flex;align-items:flex-end;gap:12px;margin:5px 0 14px;padding:0 5px;border-bottom:1px solid #dce7e2}.understanding-dots span{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.understanding-dots i{width:12px;height:var(--level-height,40%);min-height:14px;border-radius:8px 8px 2px 2px;background:var(--lm-green)}.understanding-dots .level-good i{--level-height:82%;background:var(--lm-green)}.understanding-dots .level-ok i{--level-height:58%;background:#65b69d}.understanding-dots .level-review i{--level-height:34%;background:#e4a457}.understanding-dots small{height:11px;color:var(--muted);font-size:7px}.milestone-progress>div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px}.milestone-progress b{color:var(--lm-green)}.progress-track{height:8px;display:block;overflow:hidden;margin-top:8px;border-radius:999px;background:#dfece7}
.progress-track i{height:100%;display:block;border-radius:inherit;background:var(--green);}
.teacher-note{border-color:#efd9b5;background:var(--paper);}.teacher-note blockquote,.journey-profile blockquote{margin:17px 0 10px;color:var(--lm-navy);font-family:"Noto Sans JP","Yu Gothic",system-ui,sans-serif;font-size:16px;font-weight:600;line-height:1.85}.teacher-note>p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}.teacher-note>a{min-height:44px;display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:var(--lm-green);font-size:11px;font-weight:800}.warm-empty{margin-top:15px;padding:15px;border-radius:14px;background:rgba(234,246,240,.7)}.warm-empty b,.warm-empty p{display:block;margin:0}.warm-empty b{font-size:12px}.warm-empty p{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.65}.next-story{display:grid;gap:0}.next-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:15px 0;border-bottom:1px solid var(--line);font-size:11px}.next-row>span{color:var(--muted)}.next-row b,.next-row small{display:block;overflow-wrap:anywhere}.next-row b{text-align:right}.next-row small{grid-column:2;text-align:right;color:var(--muted);font-size:9px}.quiet-link{min-height:44px;display:flex;align-items:center;justify-content:space-between;color:var(--lm-green);font-size:11px;font-weight:800}

/* Matched-parent discover tab: the relationship is primary; teacher search stays available in a quiet menu. */
.journey-actions{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;margin-top:-8px}.journey-status{padding:6px 10px;border-radius:999px;background:var(--lm-mint);color:var(--lm-green);font-size:9px;font-weight:800}.journey-menu-wrap{position:relative}.journey-menu-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;font-weight:800;letter-spacing:1px}.journey-menu{position:absolute;right:0;top:49px;width:188px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 16px 38px rgba(17,74,57,.16)}.journey-menu button{width:100%;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:#fff;text-align:left;font-size:11px;font-weight:700}.journey-menu button:active{background:var(--lm-mint)}
.journey-profile{position:relative;overflow:hidden;padding:22px;border:1px solid #d9e7e1;border-radius:var(--radius-card);box-shadow:none;background:var(--paper);}.journey-profile-main{position:relative;z-index:1;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:16px}.journey-photo{width:92px;height:108px;border-color:#fff}.journey-profile-main small{color:var(--lm-green);font-size:9px;font-weight:800}.journey-profile-main h2{margin:4px 0;font-size:23px}
.journey-profile-main p{margin:0;color:var(--muted);font-size:14px;line-height:1.75;}
.journey-credentials{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.75;}.journey-badges,.journey-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.journey-badges span,.journey-tags span{padding:6px 9px;border:1px solid #d8e9e2;border-radius:999px;background:#fff;color:var(--lm-green);font-size:9px;font-weight:700}.journey-profile blockquote{margin-bottom:0;padding-top:14px;border-top:1px solid #dce9e4}.journey-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0}.journey-stats span{padding:12px;border:1px solid rgba(17,122,91,.09);border-radius:14px;background:rgba(255,255,255,.7)}.journey-stats small,.journey-stats b{display:block}.journey-stats small{color:var(--muted);font-size:8px}.journey-stats b{margin-top:4px;font-size:12px}
.journey-profile-note{background:var(--paper);}.quiet-copy{margin:14px 0 0;color:var(--muted);font-size:11px}.journey-timeline{position:relative;margin:17px 0 4px}.journey-timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:#d9e8e2}.journey-report{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);gap:12px;padding-bottom:18px}.journey-report:last-child{padding-bottom:4px}.timeline-dot{position:relative;z-index:1;width:12px;height:12px;margin-top:3px;border:3px solid #d8eee6;border-radius:50%;background:var(--lm-green)}.journey-report time{color:var(--lm-green);font-size:8px;font-weight:800}.journey-report h4{margin:3px 0 5px;font-size:12px}
.journey-report p{margin:0;color:var(--muted);font-size:14px;line-height:1.75;}.journey-report small{display:block;margin-top:6px;color:var(--lm-navy);font-size:9px}
.search-return-banner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-bottom:17px;padding:12px 14px;border:1px solid #d5e6df;border-radius:16px;box-shadow:var(--shadow-sm);background:var(--paper);}.search-return-banner span{color:var(--muted);font-size:9px}.search-return-banner button{min-height:44px;padding:0;border:0;background:transparent;color:var(--lm-green);font-size:10px;font-weight:800}
@media(max-width:380px){.relationship-hero,.story-section,.journey-profile{padding:18px}
.notebook-card{background:var(--paper);padding-left:20px;}.relationship-person{grid-template-columns:64px minmax(0,1fr)}.relationship-photo{width:64px;height:73px}.relationship-person h2{font-size:20px}.journey-profile-main{grid-template-columns:78px minmax(0,1fr)}.journey-photo{width:78px;height:94px}.journey-profile-main h2{font-size:20px}.next-row{grid-template-columns:78px minmax(0,1fr)}}

/* Assigned tutor: the full public profile is the main experience in 「先生と」. */

.assigned-tutor-card{overflow:visible;border:1px solid #dce7e2;border-radius:var(--radius-card);box-shadow:none;background:var(--paper);}
.assigned-tutor-topline{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px 8px 18px;border-bottom:1px solid #e7ece9}
.assigned-tutor-topline>div:first-child small,.assigned-tutor-topline>div:first-child span{display:block}.assigned-tutor-topline>div:first-child small{color:var(--lm-green);font-family:"Manrope",sans-serif;font-size:7px;font-weight:800;letter-spacing:.16em}.assigned-tutor-topline>div:first-child span{margin-top:3px;color:#687872;font-size:10px;font-weight:700}
.assigned-tutor-actions{display:flex;align-items:center;gap:6px}.assigned-tutor-actions>b{padding:5px 8px;border-radius:6px;background:#eaf6f0;color:var(--lm-green);font-size:8px}.assigned-tutor-actions .journey-menu-button{width:40px;height:40px;border:0;background:transparent;color:#65746f}
.assigned-tutor-head{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:start;gap:16px;padding:20px 18px 17px}
.assigned-tutor-photo{width:104px;height:130px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:#eaf4ef;color:var(--lm-green);font-size:31px;font-weight:800}.assigned-tutor-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.assigned-tutor-title{min-width:0;padding-top:1px}.assigned-tutor-title>span{display:block;overflow:hidden;color:var(--lm-green);font-size:9px;font-weight:800;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.assigned-tutor-title h2{margin:5px 0 7px;color:var(--lm-navy);font-size:22px;line-height:1.3;letter-spacing:-.04em;overflow-wrap:anywhere}.assigned-tutor-title>p{margin:0;color:#334740;font-size:11px;font-weight:700;line-height:1.65}.assigned-tutor-title>small{display:block;margin-top:7px;color:#66756f;font-size:9px;line-height:1.55}.assigned-tutor-rating{display:flex;align-items:baseline;gap:3px;margin-top:9px}.assigned-tutor-rating b{color:#d28a19;font-size:11px}.assigned-tutor-rating span{color:#7b8984;font-size:8px}.assigned-tutor-rating.is-new span{color:#71817a;font-size:9px;font-weight:700}
.assigned-tutor-checks{display:flex;flex-wrap:wrap;gap:5px 13px;margin:0 18px;padding:12px 0;border-top:1px solid #e7ece9;color:var(--lm-green);font-size:9px;font-weight:800}.assigned-tutor-checks span{white-space:nowrap}
.assigned-tutor-certs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 18px 16px}.assigned-tutor-certs span{min-width:0;display:flex;align-items:center;gap:5px;padding:8px;border:1px solid #d9e9e2;border-radius:9px;background:#f8fbf9;color:#32473f;font-size:8px;font-weight:700;line-height:1.45}.assigned-tutor-certs b{flex:0 0 auto;color:var(--lm-green);font-size:12px}
.assigned-tutor-reason{margin:0 18px;padding:15px 16px;border-left:3px solid var(--lm-green);background:#f0f7f3}.assigned-tutor-reason>small,.assigned-tutor-copy>small,.assigned-tutor-profile>small{display:block;color:var(--lm-green);font-family:"Manrope",sans-serif;font-size:7px;font-weight:800;letter-spacing:.16em}.assigned-tutor-reason h3,.assigned-tutor-copy h3,.assigned-tutor-profile h3{margin:4px 0 0;color:var(--lm-navy);font-size:15px;letter-spacing:-.025em}.assigned-tutor-reason ul{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.assigned-tutor-reason li{position:relative;padding-left:16px;color:#3d5149;font-size:10px;line-height:1.6}.assigned-tutor-reason li:before{content:"✓";position:absolute;left:0;color:var(--lm-green);font-weight:900}
.assigned-tutor-body{padding:4px 18px 20px}.assigned-tutor-copy,.assigned-tutor-profile{padding:18px 0;border-bottom:1px solid #e4eae7}.assigned-tutor-copy p{margin:11px 0 0;color:#44564f;font-size:11px;line-height:1.85;white-space:pre-line}.assigned-tutor-profile dl{margin:12px 0 0}.assigned-tutor-detail{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:10px;padding:12px 0;border-top:1px solid #edf1ef}.assigned-tutor-detail:first-child{border-top:0}.assigned-tutor-detail dt{color:#71817a;font-size:9px;line-height:1.65}.assigned-tutor-detail dd{min-width:0;margin:0;color:#263a32;font-size:10px;font-weight:700;line-height:1.65}.assigned-tutor-chips{display:flex;flex-wrap:wrap;gap:5px}.assigned-tutor-chips span{padding:5px 7px;border:1px solid #dce9e3;border-radius:5px;background:#f7faf8;color:#355147;font-size:8px;font-weight:700}.assigned-tutor-empty{color:#8b9792;font-size:9px;font-weight:500}
.assigned-tutor-message{width:100%;min-height:49px;display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px;border:0;color:#fff;font-weight:800;background:var(--green-dark);border-radius:var(--radius-control);box-shadow:none;font-size:15px;}.assigned-tutor-message span{font-size:18px;font-weight:500}
.assigned-lesson-summary{border-radius:var(--radius-card);box-shadow:none;background:var(--paper);}.assigned-lesson-stats{display:grid;grid-template-columns:1fr 1fr;margin:17px 0 0;border-top:1px solid #e2e9e5;border-bottom:1px solid #e2e9e5}.assigned-lesson-stats span{min-width:0;padding:12px 10px}.assigned-lesson-stats span+span{border-left:1px solid #e2e9e5}.assigned-lesson-stats small,.assigned-lesson-stats b{display:block}.assigned-lesson-stats small{color:#71817a;font-size:8px}.assigned-lesson-stats b{margin-top:5px;color:var(--lm-navy);font-size:12px;overflow-wrap:anywhere}
@media(max-width:380px){
  .assigned-tutor-head{grid-template-columns:92px minmax(0,1fr);gap:13px;padding-inline:15px}.assigned-tutor-photo{width:92px;height:118px}.assigned-tutor-title h2{font-size:20px}.assigned-tutor-title>p{font-size:10px}.assigned-tutor-checks,.assigned-tutor-certs,.assigned-tutor-reason{margin-right:15px;margin-left:15px}.assigned-tutor-certs{grid-template-columns:1fr}.assigned-tutor-body{padding-right:15px;padding-left:15px}.assigned-tutor-detail{grid-template-columns:78px minmax(0,1fr)}
}

/* Matched parent home: calm, photo-led layout based on the approved mobile reference. */
.notification-button{position:relative;justify-self:end}.notification-button .header-count{position:absolute;top:3px;right:1px;min-width:16px;height:16px;padding:0 4px;border:2px solid #fff;background:var(--green);font-size:7px}.app-header>.notification-button{border:0;background:transparent;box-shadow:none}.app-header>.notification-button svg{width:25px;height:25px}
.parent-home-reference{gap:12px;margin:-22px -16px 0;background:var(--paper);}.parent-home-reference>section{min-width:0;background:#fff}
.parent-home-hero{padding:28px 26px 24px;border-bottom:1px solid #eef1ef;border-radius:0;box-shadow:none;}
.parent-home-title h2,.parent-home-title p{margin:0}
.parent-home-title h2{line-height:1.35;font-size:clamp(23px,5vw,28px);letter-spacing:0;}.parent-home-title p{margin-top:7px;color:#586862;font-size:14px}
.parent-tutor-overview{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:18px;margin-top:18px}
.parent-tutor-photo{width:116px;height:92px;display:grid;place-items:center;overflow:hidden;border-radius:20px;color:var(--green-dark);font-size:30px;font-weight:800;background:var(--mint);}.parent-tutor-photo img{width:100%;height:100%;object-fit:cover}.parent-tutor-overview h3,.parent-tutor-overview p,.parent-tutor-overview small{display:block;margin:0;overflow-wrap:anywhere}.parent-tutor-overview h3{font-size:18px;line-height:1.4}.parent-tutor-overview p{margin-top:6px;color:var(--green-dark);font-size:13px;font-weight:700;line-height:1.55}.parent-tutor-overview small{margin-top:6px;color:#65746f;font-size:11px}
.parent-lesson-snapshot{display:grid;grid-template-columns:1fr 1fr;margin-top:20px;padding-top:16px;border-top:1px solid #dfe5e2}.parent-lesson-snapshot span{min-width:0;padding:0 15px 0 0}.parent-lesson-snapshot span+span{padding:0 0 0 20px;border-left:1px solid #dfe5e2}.parent-lesson-snapshot small,.parent-lesson-snapshot b{display:block}.parent-lesson-snapshot small{color:#697671;font-size:11px}.parent-lesson-snapshot b{margin-top:7px;font-size:16px;overflow-wrap:anywhere}
.parent-message-button{position:relative;width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px;padding:0 18px;border:0;color:#fff;font-weight:800;background:var(--green-dark);border-radius:var(--radius-control);box-shadow:none;font-size:15px;}
.parent-message-button b{font-size:20px;font-weight:500;position:static;}
.parent-home-panel{box-shadow:none;background:var(--paper);border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:24px 26px;}.parent-home-panel h3{margin:0 0 15px;font-size:19px;letter-spacing:-.035em}.parent-progress-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 -6px}.parent-progress-stats span{min-width:0;padding:2px 10px;text-align:center}.parent-progress-stats span+span{border-left:1px solid #e3e7e5}.parent-progress-stats b,.parent-progress-stats small{display:block;overflow-wrap:anywhere}
.parent-progress-stats b{min-height:28px;color:var(--green-dark);line-height:1.25;font-size:clamp(16px,4vw,20px);}
.parent-progress-stats small{margin-top:5px;color:#405049;font-size:14px;line-height:1.75;}
.parent-progress-panel>p{margin:17px 0 0;padding-top:14px;border-top:1px solid #e1e6e3;color:#66736e;font-size:14px;line-height:1.75;}
.parent-teacher-note{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px}.parent-teacher-avatar{width:46px;height:46px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:var(--mint);color:var(--green-dark);font-size:16px;font-weight:800}.parent-teacher-avatar img{width:100%;height:100%;object-fit:cover}.parent-teacher-note-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.parent-teacher-note-head b{font-size:13px}.parent-teacher-note-head time{flex:0 0 auto;color:#7b8782;font-size:10px}.parent-teacher-note p{margin:7px 0 0;color:var(--navy);font-size:15px;line-height:1.75;white-space:pre-line}.parent-home-empty{padding:15px;border-radius:14px;background:#f0f8f4}.parent-home-empty b,.parent-home-empty p{display:block;margin:0}.parent-home-empty b{font-size:12px}
.parent-home-empty p{margin-top:5px;color:var(--muted);font-size:14px;line-height:1.75;}
.parent-next-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding:13px 0;border-bottom:1px solid #e1e6e3;font-size:14px;line-height:1.75;}.parent-next-row>span{color:#405049}.parent-next-row>b{text-align:right;overflow-wrap:anywhere}.parent-next-row>small{grid-column:2;color:var(--muted);font-size:9px;text-align:right}.parent-next-panel>a{min-height:48px;display:flex;align-items:center;justify-content:space-between;color:var(--green-dark);font-size:12px;font-weight:800}
@media(max-width:380px){.parent-home-reference{margin:-19px -14px 0}
.parent-home-hero{padding:24px 20px 21px;border-radius:0;box-shadow:none;}
.parent-home-title h2{font-size:clamp(23px,5vw,28px);letter-spacing:0;}.parent-tutor-overview{grid-template-columns:96px minmax(0,1fr);gap:14px}
.parent-tutor-photo{width:96px;height:82px;background:var(--mint);}.parent-tutor-overview h3{font-size:16px}.parent-tutor-overview p{font-size:11px}
.parent-home-panel{margin-inline:3px;box-shadow:none;background:var(--paper);border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:24px 26px;}
.parent-message-button b{position:static;}.parent-progress-stats span{padding-inline:5px}
.parent-next-row{grid-template-columns:76px minmax(0,1fr);font-size:14px;line-height:1.75;}}

/* First-run guidance: one clear action and a compact progress trail. */
.onboarding-home{min-width:0;display:grid;gap:16px}
.onboarding-card{min-width:0;padding:21px;border:1px solid #dce9e3;border-radius:var(--radius-card);box-shadow:none;background:var(--paper);}
.onboarding-card>small,.onboarding-heading small{color:var(--green);font-family:"Manrope",sans-serif;font-size:8px;font-weight:800;letter-spacing:.15em}
.onboarding-card>h3{margin:7px 0 9px;color:var(--navy);line-height:1.45;font-size:clamp(20px,4.7vw,24px);letter-spacing:0;}
.onboarding-card>p{margin:0;color:var(--muted);font-size:14px;line-height:1.75;}
.onboarding-parent{position:relative;overflow:hidden;background:var(--paper);}
.onboarding-tutor{position:relative;overflow:hidden;background:var(--paper);}
.onboarding-action{position:relative;z-index:1;width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding:0 18px;text-decoration:none}.onboarding-action span{font-size:18px;font-weight:500}
.onboarding-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.onboarding-heading h3{margin:5px 0 0;color:var(--navy);font-size:17px}.onboarding-heading>b{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:var(--mint);color:var(--green-dark);font-size:10px}
.onboarding-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:20px 0 0;padding:0;list-style:none}.onboarding-progress li{position:relative;min-width:0;display:grid;justify-items:center;gap:7px;color:#8b9792;text-align:center}.onboarding-progress li:before{content:"";position:absolute;z-index:0;top:13px;right:50%;width:calc(100% + 2px);height:2px;background:#dce7e2}.onboarding-progress li:first-child:before{display:none}.onboarding-progress li.done:before{background:var(--green)}.onboarding-progress span{position:relative;z-index:1;width:27px;height:27px;display:grid;place-items:center;border:2px solid #dce7e2;border-radius:50%;background:#fff;font-family:"Manrope",sans-serif;font-size:9px;font-weight:800}.onboarding-progress li.done span{border-color:var(--green);background:var(--green);color:#fff}.onboarding-progress li.current span{border-color:var(--green);box-shadow:0 0 0 4px var(--mint);color:var(--green-dark)}.onboarding-progress small{font-size:7.5px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.onboarding-progress li.current small{color:var(--navy)}.onboarding-tutor+.onboarding-card .onboarding-progress{grid-template-columns:repeat(6,minmax(0,1fr))}.onboarding-tutor+.onboarding-card .onboarding-progress small{font-size:6.8px}
.onboarding-help{margin-top:17px!important;padding-top:13px;border-top:1px solid #e2ebe7;font-size:14px!important;}.onboarding-home>.summary-grid{margin-top:0}.onboarding-home>.summary-grid button{width:100%}
@media(max-width:360px){.onboarding-card{padding:18px 15px}
.onboarding-card>h3{font-size:clamp(20px,4.7vw,24px);letter-spacing:0;}.onboarding-progress{margin-inline:-5px}.onboarding-progress small{font-size:7px}}

/* Trial lesson details inside the in-app tutor profile. */
.trial-summary,.child-choice{margin:18px 0;padding:16px;border-radius:16px;background:var(--mint);color:var(--ink)}
.trial-summary p,.child-choice p{margin:6px 0 0;line-height:1.7;color:var(--muted)}
.child-choice{background:#fff;border:1px solid var(--line)}
.child-choice .secondary-button{width:100%;margin-top:12px}
.trial-policy-note{margin:14px 0 0;padding:10px 12px;border-radius:12px;background:#fff;border:1px dashed var(--line);color:var(--muted);font-size:11px;line-height:1.6}
.tutor-trial-link{display:flex;align-items:center;justify-content:center;margin-top:14px;text-decoration:none}

/* Parent My Page: a continuous, quiet account screen based on the approved reference. */
body.profile-page-open{background:#fff}
.profile-page-open .app-shell{background:#fff}
.profile-page-open .app-header{
  grid-template-columns:minmax(0,1fr) 48px;
  height:calc(92px + env(safe-area-inset-top));
  padding:calc(env(safe-area-inset-top) + 18px) 20px 8px;
  border-bottom:0;
  background:#fff;
  box-shadow:none;
  backdrop-filter:none;
}
.profile-page-open .app-header #settingsButton{display:none}
.profile-page-open .app-header h1{
  position:relative;
  align-self:end;
  justify-self:start;
  padding-bottom:14px;
  color:#152636;
  font-family:"Noto Sans JP","Yu Gothic",system-ui,sans-serif;
  font-size:28px;
  font-weight:800;
  letter-spacing:-.055em;
  text-align:left;
}
.profile-page-open .app-header h1:after{content:"";position:absolute;left:0;bottom:0;width:25px;height:4px;border-radius:99px;background:#0ab276}
.profile-page-open .app-header>.notification-button{align-self:end;margin-bottom:3px;color:#08775b}
.profile-page-open .app-header>.notification-button svg{width:29px;height:29px;stroke-width:1.7}
.profile-page-open .app-page[data-page="profile"]{padding:0 0 18px}
.profile-page-open #profileContent{display:block}
.parent-profile-page{min-width:0;background:#fff;color:#152636}
.parent-profile-hero{padding:28px 20px 0}
.parent-profile-person{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:18px}
.parent-profile-avatar{width:84px;height:84px;display:grid;place-items:center;border:1px solid #cce8df;border-radius:50%;color:#08a36d;font-size:27px;font-weight:800;background:var(--mint);}
.parent-profile-copy{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px}
.parent-profile-copy h2{grid-column:1/-1;margin:0 0 8px;color:#152636;font-size:23px;line-height:1.35;letter-spacing:-.035em;overflow-wrap:anywhere}
.parent-role-pill{justify-self:start;padding:5px 11px;border-radius:7px;background:#eaf6f1;color:#465852;font-size:11px;font-weight:600}
.parent-profile-edit{justify-self:end;display:flex;align-items:center;gap:8px;min-height:44px;color:#08a36d;font-size:11px;font-weight:800;white-space:nowrap}
.parent-profile-edit b{font-size:19px;font-weight:500}
.parent-profile-facts{display:grid;grid-template-columns:1fr 1fr;margin-top:24px;border-top:1px solid #e1e8e5;border-bottom:1px solid #e1e8e5}
.parent-profile-facts a{min-width:0;min-height:64px;display:grid;grid-template-columns:28px auto auto;align-items:center;justify-content:center;gap:8px;padding:0 11px;color:#31433d;font-size:11px}
.parent-profile-facts a+a{border-left:1px solid #e1e8e5}
.parent-profile-facts svg{width:24px;height:24px}
.parent-profile-facts b{color:#08a36d;font-size:11px;white-space:nowrap}
.parent-profile-fact-icon{display:grid;place-items:center;color:#08a36d}
.parent-profile-section{padding:24px 14px 0}
.parent-profile-section h3{margin:0;padding:0 7px 10px;color:#89918e;font-size:12px;font-weight:700;letter-spacing:.01em}
.parent-profile-support{margin-top:12px;padding-top:24px;border-top:1px solid #e6ebe9}
.parent-profile-menu{border-top:1px solid transparent}
.parent-profile-row{width:100%;min-height:63px;display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:11px;padding:0 8px;border:0;border-bottom:1px solid #e3e9e6;background:#fff;color:#182935;text-align:left;font-size:14px;font-weight:600}
.parent-profile-row:active{background:#f6faf8}
.parent-profile-row-icon{display:grid;place-items:center;color:#17242c}
.parent-profile-row-icon svg{width:26px;height:26px;stroke-width:1.65}
.parent-profile-row>b{justify-self:end;color:#08a36d;font-size:27px;font-weight:400;line-height:1}
.profile-page-open .bottom-nav{min-height:calc(72px + env(safe-area-inset-bottom));padding:4px 5px env(safe-area-inset-bottom);border:0;border-top:1px solid #e0e6e3;border-radius:0;box-shadow:none;background:var(--paper);backdrop-filter:none;}
.profile-page-open .bottom-nav button{min-height:58px;border-radius:var(--radius-control);background:transparent;color:var(--muted)}
.profile-page-open .bottom-nav button.active{background:var(--mint);color:var(--green-dark)}

.profile-page-open .bottom-nav button.active svg{width:23px;height:23px;padding:0;border-radius:0;background:transparent}
.profile-page-open .bottom-nav button span{font-size:10px}
@media(min-width:700px){
  .profile-page-open .app-header{padding-right:calc((100vw - 680px)/2 + 20px);padding-left:calc((100vw - 680px)/2 + 20px)}
}
@media(max-width:380px){
  .profile-page-open .app-header{height:calc(84px + env(safe-area-inset-top));padding-right:16px;padding-left:16px}
  .profile-page-open .app-header h1{font-size:25px}
  .parent-profile-hero{padding-right:16px;padding-left:16px}
  .parent-profile-person{grid-template-columns:76px minmax(0,1fr);gap:14px}
.parent-profile-avatar{width:76px;height:76px;font-size:24px;background:var(--mint);}
  .parent-profile-copy h2{font-size:21px}
  .parent-profile-edit{font-size:10px}
  .parent-profile-facts a{grid-template-columns:24px auto auto;gap:5px;padding-inline:6px;font-size:10px}
  .parent-profile-facts svg{width:21px;height:21px}
  .parent-profile-facts b{font-size:10px}
  .parent-profile-section{padding-right:10px;padding-left:10px}
  .parent-profile-row{padding-inline:7px}
}

/* Assigned tutor: one continuous profile page based on the approved app reference. */
body.tutor-page-open{background:#fff}
.tutor-page-open .app-shell{background:#fff}
.tutor-page-open .app-header{
  grid-template-columns:48px minmax(0,1fr) 48px;
  height:calc(70px + env(safe-area-inset-top));
  padding:calc(env(safe-area-inset-top) + 8px) 18px 0;
  border:0;

  box-shadow:none;

;background:var(--paper);backdrop-filter:none;}
.tutor-page-open .app-header h1{color:#13212c;font-family:"Noto Sans JP","Yu Gothic",system-ui,sans-serif;font-size:19px;font-weight:800;letter-spacing:-.035em}
.tutor-page-open .app-header>.icon-button{border:0;background:transparent;box-shadow:none;color:#101a22}
.tutor-page-open .app-header>#settingsButton{justify-self:start}
.tutor-page-open .app-header>#settingsButton svg{width:27px;height:27px;stroke-width:2}
.tutor-page-open .app-header>.notification-button{color:#101a22}
.tutor-page-open .app-header>.notification-button svg{width:27px;height:27px;stroke-width:1.8}
.tutor-page-open .app-page[data-page="discover"]{padding:14px 20px 36px;background:#fff}
.tutor-page-open .app-page[data-page="discover"]>.page-intro{display:none}
.tutor-page-open #discoverContent{display:block}
.tutor-profile-page{display:block;color:#14232d}
.tutor-profile-hero{padding-bottom:34px}
.tutor-hero-photo{position:relative;width:100%;aspect-ratio:1.32;display:grid;place-items:center;overflow:hidden;border-radius:12px;color:#079c69;font-size:54px;font-weight:800;background:var(--mint);}
.tutor-hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center top}
.tutor-hero-photo>b{position:absolute;left:11px;bottom:10px;min-height:30px;display:flex;align-items:center;gap:7px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.94);color:#08a56f;font-size:11px;font-weight:800;box-shadow:0 3px 10px rgba(15,58,44,.1)}
.tutor-hero-photo>b i{width:9px;height:9px;border-radius:50%;background:#09b378}
.tutor-identity{padding:30px 8px 0}
.tutor-identity h2{margin:0;color:#111d27;font-size:25px;line-height:1.35;letter-spacing:-.045em}
.tutor-subject-lead{margin:10px 0 0;color:#087fca;font-size:15px;font-weight:800;line-height:1.6}
.tutor-credentials{margin:10px 0 0;color:#35444d;font-size:13px;line-height:1.65}
.tutor-trust-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 19px;margin-top:18px}
.tutor-rating,.tutor-trust{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.tutor-rating b{color:#08a86f;font-size:16px}.tutor-rating small{color:#2d3b43;font-size:12px}.tutor-rating.is-new small{color:#738079}
.tutor-trust{color:#08a86f;font-size:12px;font-weight:700}.tutor-trust i,.tutor-check{width:17px;height:17px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#09ad74;color:#fff;font-size:10px;font-style:normal;font-weight:900}
.tutor-headline{margin:21px 0 0;color:#192831;font-size:14px;line-height:1.85}
.tutor-message-button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:28px;margin-top:25px;border:0;color:#fff;font-weight:800;background:var(--green-dark);border-radius:var(--radius-control);box-shadow:none;font-size:15px;}
.tutor-message-button span{font-size:24px;font-weight:400;line-height:1}
.tutor-flat-section{padding:33px 3px 31px;border-top:1px solid #d8dfe2}
.tutor-strength-section{border-top:0;padding-top:4px}
.tutor-flat-section h3{margin:0;padding-left:13px;border-left:4px solid #0ab678;color:#121f29;font-size:19px;line-height:1.45;letter-spacing:-.025em}
.tutor-flat-section>p{margin:22px 0 0;color:#1e2c34;font-size:14px;line-height:2;white-space:pre-line}
.tutor-strength-section ul{display:grid;gap:12px;margin:22px 0 0;padding:0;list-style:none}
.tutor-strength-section li{display:grid;grid-template-columns:21px minmax(0,1fr);gap:10px;color:#213038;font-size:13px;line-height:1.8}
.tutor-strength-section li>span{color:#07141c;font-size:18px;font-weight:800}
.tutor-profile-table{margin:20px 0 0}
.tutor-profile-row{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:start;gap:14px;padding:14px 6px;border-bottom:1px solid #d8dfe2}
.tutor-profile-row:last-child{border-bottom:0}
.tutor-profile-row dt,.tutor-profile-row dd{margin:0;font-size:13px;line-height:1.75}
.tutor-profile-row dt{color:#34434b}.tutor-profile-row dd{color:#17252d;overflow-wrap:anywhere}.tutor-profile-row dd.is-accent{color:#087fca;font-weight:800}
.tutor-style-table{margin-top:20px}
.tutor-style-row{display:grid;grid-template-columns:22px 105px minmax(0,1fr);align-items:start;gap:10px;padding:13px 3px;border-bottom:1px solid #d8dfe2}
.tutor-style-row:last-child{border-bottom:0}
.tutor-style-row b,.tutor-style-row p{margin:0;color:#1a2830;font-size:13px;line-height:1.75}.tutor-style-row b{font-weight:500}.tutor-style-row p{overflow-wrap:anywhere}
.tutor-question-link{min-height:50px;display:flex;align-items:center;gap:30px;margin-top:13px;padding:0 3px;border:0;background:transparent;color:#09a76f;font-size:14px;font-weight:800;text-align:left}
.tutor-question-link span{font-size:22px;font-weight:400}
.tutor-lessons-section .assigned-lesson-stats{margin-top:23px}
.tutor-lessons-section .assigned-lesson-stats small{font-size:10px}.tutor-lessons-section .assigned-lesson-stats b{font-size:14px}
.tutor-lessons-section .growth-message{font-size:13px;font-weight:500}
.tutor-reports-section .journey-report p{font-size:12px;line-height:1.8}.tutor-reports-section .journey-report h4{font-size:13px}.tutor-reports-section .journey-report time{font-size:9px}
.tutor-reports-section .quiet-link{margin-top:8px;font-size:12px}.tutor-profile-search-link{width:100%;margin-top:14px;padding:10px 0 0;border:0;border-top:1px solid var(--line);background:transparent;font-family:inherit;text-align:left;cursor:pointer}
.tutor-page-open .bottom-nav{min-height:calc(72px + env(safe-area-inset-bottom));padding:4px 5px env(safe-area-inset-bottom);border:0;border-top:1px solid #dfe5e7;border-radius:0;box-shadow:none;background:var(--paper);backdrop-filter:none;}
.tutor-page-open .bottom-nav button{min-height:58px;border-radius:var(--radius-control);background:transparent;color:var(--muted)}
.tutor-page-open .bottom-nav button.active{background:var(--mint);color:var(--green-dark)}

.tutor-page-open .bottom-nav button.active svg{width:23px;height:23px;padding:0;border-radius:0;background:transparent}
.tutor-page-open .bottom-nav button span{font-size:10px}
@media(min-width:700px){

.tutor-page-open .app-header{padding-right:calc((100vw - 680px)/2 + 18px);padding-left:calc((100vw - 680px)/2 + 18px);background:var(--paper);backdrop-filter:none;}
}
@media(max-width:380px){

.tutor-page-open .app-header{padding-right:13px;padding-left:13px;background:var(--paper);backdrop-filter:none;}
  .tutor-page-open .app-page[data-page="discover"]{padding-right:16px;padding-left:16px}
  .tutor-identity{padding-right:5px;padding-left:5px}.tutor-identity h2{font-size:23px}.tutor-trust-row{gap:8px 14px}
  .tutor-flat-section{padding-right:1px;padding-left:1px}.tutor-profile-row{grid-template-columns:98px minmax(0,1fr);gap:10px}.tutor-style-row{grid-template-columns:20px 85px minmax(0,1fr)}
}

/* App typography follows the calm, readable tone of the public website. */
html,body{
  font-family:"Noto Sans JP","Yu Gothic",system-ui,sans-serif;
  font-size:15px;
  font-weight:400;
  line-height:1.75;
}
.app-header h1,.settings-header h1,.page-intro h2,.hero-card h2,.profile-head h2,
.section-title h3,.person-copy h3,.request-card h3,.menu-group h3,
.parent-home-title h2,.parent-home-panel h3,.parent-profile-copy h2,
.parent-profile-section h3,.tutor-identity h2,.tutor-flat-section h3,
.onboarding-card>h3,.onboarding-heading h3{
  font-family:"Noto Sans JP","Yu Gothic",system-ui,sans-serif;
  font-weight:700;
}
.kicker,.hero-card>small,.onboarding-card>small,.onboarding-heading small,
.onboarding-progress span,.summary-card b{
  font-family:"Manrope","Noto Sans JP",sans-serif;
}
.page-intro>p:last-child,.hero-card p,.request-card p,.detail-dialog p{
  font-size:14px;
  line-height:1.8;
}
.person-copy p,.conversation-copy span,.settings-note,.update-notice p{
  font-size:14px;
  line-height:1.75;
}
.primary-button,.secondary-button{font-size:14px}
.bottom-nav button,.profile-page-open .bottom-nav button span,
.tutor-page-open .bottom-nav button span{font-size:11px}

/* Long names and account identifiers stay inside the generic role card. */

.profile-head{grid-template-columns:68px minmax(0,1fr)}
.profile-head>div{min-width:0}
.profile-head h2,.profile-head small{overflow-wrap:anywhere}
.profile-head small{white-space:normal}

/* Contrast fixes use only the approved design tokens. */
.parent-profile-edit,.parent-profile-facts b,.parent-profile-row>b{
  color:var(--green-dark);
}
.parent-profile-section h3,.profile-page-open .bottom-nav button,
.tutor-page-open .bottom-nav button{min-height:58px;border-radius:var(--radius-control);background:transparent;color:var(--muted)}
.profile-page-open .bottom-nav button.active,
.tutor-page-open .bottom-nav button.active{background:var(--mint);color:var(--green-dark)}

/* Paid booking is intentionally unavailable during the closed preview. */
.tutor-trial-link{width:100%}
.paid-feature-disabled,.paid-feature-disabled:disabled{
  border:1px solid var(--line);
  background:var(--mint);
  color:var(--green-dark);
  box-shadow:none;
  cursor:not-allowed;
  opacity:1;
}
.student-invite-field{display:grid;gap:8px;color:var(--navy);font-size:13px;font-weight:700}
.student-invite-field input{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font:700 18px/1.4 "Manrope","Noto Sans JP",sans-serif;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.student-invite-status{min-height:1.75em;margin:8px 0;color:var(--coral);font-size:13px;line-height:1.75;overflow-wrap:anywhere}


/* Customer-facing labels use concise Japanese headings; decorative English is hidden. */
.kicker,
.hero-card>small,
.onboarding-card>small,
.onboarding-heading small,
.story-heading small,
.all-tutors>.section-title small{display:none}


/* In-app legal document: shared by parent, student and tutor settings. */

.privacy-view{position:fixed;inset:0;z-index:80;min-height:100dvh;overflow:auto;color:var(--navy);background:var(--paper);}
.privacy-header{position:sticky;top:0;z-index:2;min-height:64px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}
.privacy-header h1{min-width:0;margin:0;text-align:center;font-size:clamp(16px,4.6vw,20px);line-height:1.4;overflow-wrap:anywhere}
.privacy-header .icon-button{width:44px;height:44px;border:0;background:transparent}
.privacy-main{width:min(100%,760px);margin:0 auto;padding:20px max(16px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.privacy-document{min-width:0;padding:clamp(20px,5vw,38px);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:none;background:var(--paper);}
.privacy-document>p:first-of-type{margin-top:0}.privacy-updated{color:var(--muted);font-size:12px;text-align:right}
.privacy-document section{min-width:0;padding:22px 0;border-top:1px solid var(--line)}.privacy-document section:first-of-type{margin-top:22px}
.privacy-document h2{margin:0 0 12px;font-size:clamp(16px,4.5vw,20px);line-height:1.55;overflow-wrap:anywhere}
.privacy-document p,.privacy-document li{font-size:14px;line-height:1.9;overflow-wrap:anywhere}
.privacy-document p{margin:10px 0}.privacy-document ul{margin:10px 0;padding-left:1.35rem}.privacy-document li+li{margin-top:6px}
.privacy-document a{color:var(--green-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:380px){.privacy-main{padding-inline:12px}
.privacy-document{padding:18px 16px;border-radius:var(--radius-card);box-shadow:none;background:var(--paper);}.privacy-document p,.privacy-document li{font-size:13px}}

/* Meaningful Japanese labels remain visible alongside the primary action. */
.app-canonical-progress>small{display:block;color:var(--green-dark);font-family:inherit;font-size:13px;font-weight:700;letter-spacing:0}
.app-canonical-progress{border-left:3px solid var(--green)}
.app-canonical-todos{border:0;border-radius:0}
.app-canonical-todos h3{padding-left:0}
.app-canonical-todos .menu-row{padding-inline:0;border-top:1px solid var(--line)}
.page-stack>*,.card-list>*,.parent-tutor-overview>*,.shelf-heading>*{min-width:0;overflow-wrap:anywhere}

.app-header>.notification-panel{color:var(--navy);--lm-ink:var(--navy);--lm-muted:var(--muted);--lm-green-dark:var(--green-dark);--lm-mint:var(--mint);text-align:left}


/* Navigation already identifies the screen. Keep heading semantics without
   repeating large titles; never hide arbitrary hints, errors, labels or terms. */
[data-screen-heading],[data-redundant-heading],[data-redundant-copy]{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:0!important;border:0!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;
}

.app-header{height:calc(58px + env(safe-area-inset-top));padding:calc(env(safe-area-inset-top) + 6px) 20px 6px;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center}
.app-header #settingsButton{grid-column:1;grid-row:1}
.app-header #notificationButton{grid-column:3;grid-row:1}
.page-intro:has([data-redundant-heading]):not(:has(p:not(:empty))){margin:0;padding:0}

/* Keep context and back controls aligned across all app roles. */
.app-header,.profile-page-open .app-header,.tutor-page-open .app-header{
  height:calc(58px + env(safe-area-inset-top));
  padding:calc(env(safe-area-inset-top) + 6px) max(16px,calc((100vw - 680px)/2 + 16px)) 6px;
  grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;
}
.tutor-page-open .app-header{grid-template-columns:44px minmax(0,1fr) 44px}
.tutor-page-open .app-header #notificationButton{grid-column:3}
.profile-page-open .app-header>.notification-button{align-self:center;margin-bottom:0}


/* Wide windows use the dashboard's sidebar and content proportions. */
@media (min-width: 960px) and (any-pointer: fine) {
  .app-shell {
    --app-sidebar-width: clamp(12rem, 18vw, 16rem);
    padding: 0 0 0 var(--app-sidebar-width);
  }

  .app-shell .bottom-nav,
  body.keyboard-open .app-shell .bottom-nav {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--app-sidebar-width);
    transform: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .4rem;
    padding: 1rem;
    border: 0;
    border-right: 1px solid var(--line);
    overflow-y: auto;
  }

  .app-shell .bottom-nav::before {
    content: "lumera";
    padding: .65rem .75rem 1.2rem;
    color: var(--green-dark);
    font-size: 1.5rem;
    font-weight: 800;
  }

  .app-shell .bottom-nav button {
    flex-direction: row;
    justify-content: flex-start;
    gap: .8rem;
    padding: .7rem .75rem;
    min-height: 44px;
    font-size: .95rem;
  }

  .app-shell .bottom-nav button svg,
  .app-shell .bottom-nav button.active svg {
    width: 1.4rem;
    height: 1.4rem;
    flex: 0 0 1.4rem;
  }

  .app-shell .bottom-nav i {
    position: static;
    order: 1;
    margin-inline-start: auto;
  }

  .app-shell .app-header {
    padding-inline: clamp(1.5rem, 3vw, 3rem);
  }

  .app-shell #appMain {
    max-width: 90rem;
  }

  .app-shell .app-page {
    padding-inline: clamp(1.5rem, 3vw, 3rem);
  }

  #profileContent {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  #profileContent > .profile-card,
  #profileContent > .parent-profile-page {
    grid-column: 1 / -1;
  }

  .profile-head > div {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  #openSettingsFromProfile {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .settings-main {
    max-width: 75rem;
    padding-inline: clamp(1.5rem, 3vw, 3rem);
  }

  .app-shell .thread-view {
    left: var(--app-sidebar-width);
  }

  .app-shell .update-notice {
    left: auto;
    right: 1.5rem;
    bottom: 1.5rem;
    width: min(30rem, calc(100% - var(--app-sidebar-width) - 3rem));
  }
}
