/* Phone forms and reading layouts. Desktop rules remain in style.css. */
@media (max-width:720px) {
  .public-site .form input[type=file],
  .public-site .form-card input[type=file] { font-size:16px; }
  .public-site input[type=file]::file-selector-button { min-height:44px; font-size:14px; }
  .public-site .form .btn,
  .public-site .form-card>.form-actions>.btn { min-height:46px; font-size:14px; }
  .public-site .evaluation-compose-head,
  .public-site .student-compose-head,
  .public-site .evaluate-select-head,
  .public-site .bookmarks-page-head,
  .public-site .privacy-page-head,
  .public-site .guide-page-head { margin-bottom:18px; }
  .public-site .evaluation-compose-head h1,
  .public-site .student-compose-head h1,
  .public-site .evaluate-select-head h1,
  .public-site .bookmarks-page-head h1,
  .public-site .privacy-page-head h1,
  .public-site .guide-page-head h1 { font-size:25px; line-height:1.45; margin-bottom:8px; }
  .public-site .evaluation-compose-head .eyebrow,
  .public-site .student-compose-head .eyebrow { display:none; }
  .public-site .evaluation-compose-head .back { min-height:44px; margin-bottom:5px; font-size:14px; }
  .public-site .evaluation-compose-head .sub,
  .public-site .student-compose-head .sub,
  .public-site .evaluate-select-head .sub,
  .public-site .bookmarks-page-head .sub,
  .public-site .privacy-page-head .sub,
  .public-site .guide-page-head .sub { font-size:14px; line-height:1.75; margin:0; }
  .public-site .evaluate-select-head>.btn { display:none; }
  .public-site .evaluation-compose-layout,
  .public-site .student-compose-layout { gap:14px; }
  .public-site .evaluation-compose-layout>.form-card,
  .public-site .student-compose-layout>.form-card { padding:20px 14px; }
  .public-site .evaluation-compose-layout .card-heading { gap:9px; margin-bottom:17px; }
  .public-site .evaluation-compose-layout .card-heading h2 { font-size:17px; line-height:1.5; }
  .public-site .evaluation-compose-layout .card-heading p { font-size:12px; line-height:1.75; }
  .public-site .evaluation-compose-layout .step-number { width:30px; height:30px; font-size:12px; }
  .public-site .evaluation-compose-layout .dim { padding-bottom:18px; margin-bottom:20px; }
  .public-site .evaluation-compose-layout .dim legend { font-size:16px; line-height:1.6; }
  .public-site .evaluation-compose-layout .dim-hint { font-size:12px; line-height:1.7; margin:4px 0 11px; }
  .public-site .evaluation-compose-layout .scale,
  .public-site .post-rating-choice .scale { grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
  .public-site .evaluation-compose-layout .scale-item>span,
  .public-site .post-rating-choice .scale-item>span { min-height:70px; font-size:23px; line-height:1.3; gap:5px; border-radius:9px; }
  .public-site .evaluation-compose-layout .scale-item small,
  .public-site .post-rating-choice .scale-item small { font-size:12px; line-height:1.35; letter-spacing:0; white-space:normal; text-align:center; padding:0 1px; text-wrap:balance; }
  .public-site .evaluation-compose-layout .form-section { margin-bottom:18px; padding-bottom:18px; }
  .public-site .evaluation-compose-layout .form-section .sub { font-size:14px; line-height:1.8; }
  .public-site .evaluation-compose-layout .field>span,
  .public-site .student-compose-layout .field>span,
  .public-site .reply-panel .field>span { font-size:14px; line-height:1.7; }
  .public-site .evaluation-compose-layout .field b,
  .public-site .student-compose-layout .field b,
  .public-site .reply-panel .field b { display:inline-block; font-size:12px; margin-left:3px; }
  .public-site .evaluation-compose-layout input[type=text],
  .public-site .evaluation-compose-layout textarea,
  .public-site .student-compose-layout input[type=text],
  .public-site .student-compose-layout textarea,
  .public-site .reply-panel textarea { font-size:16px; line-height:1.75; padding:12px; }
  .public-site .evaluation-compose-layout input[type=file] { font-size:16px; }
  .public-site .evaluation-compose-layout input[type=file]::file-selector-button { min-height:44px; font-size:14px; margin-bottom:5px; }
  .public-site .evaluation-compose-layout .field small,
  .public-site .student-compose-layout .field small,
  .public-site .reply-panel .field small { font-size:12px; line-height:1.85; }
  .public-site .evaluation-compose-layout .counter,
  .public-site .student-compose-layout .counter,
  .public-site .reply-panel .counter { font-size:12px; }
  .public-site .student-compose-layout textarea[name=content] { min-height:230px; }
  .public-site .optional-materials { padding:0 12px; border:1px solid #e0e8f3; border-radius:11px; background:#fafcff; }
  .public-site .optional-materials>summary { cursor:pointer; min-height:56px; padding:12px 0; font-size:14px; line-height:1.7; color:var(--ink-soft); }
  .public-site .optional-materials-title { font-weight:600; color:var(--ink); }
  .public-site .optional-materials>summary>span:last-child { display:block; padding-left:16px; color:var(--muted); font-size:12px; }
  .public-site .optional-materials-body { padding:0 0 14px; }
  .public-site .materials-note { font-size:12px; line-height:1.85; margin:0 0 14px; color:var(--muted); }
  .public-site .mobile-form-help { padding:0 16px; }
  .public-site .mobile-form-help>summary { cursor:pointer; min-height:50px; padding:13px 0; font-size:14px; font-weight:600; line-height:1.7; }
  .public-site .mobile-form-help .form-help-body { padding-bottom:15px; }
  .public-site .mobile-form-help ul { margin-top:0; }
  .public-site .mobile-form-help li { font-size:14px; }
  .public-site .mobile-form-help li p,
  .public-site .mobile-form-help .info-note { font-size:12px; line-height:1.9; }
  .public-site .mobile-form-help .info-note { margin-bottom:0; }
  .public-site .student-compose-layout>.sidebar { display:none; }
  .public-site .evaluation-compose-layout .check-field,
  .public-site .student-compose-layout .check-field,
  .public-site .reply-panel .check-field,
  .public-site .post-rating .check-field { font-size:12px; line-height:1.9; padding:11px 0; min-height:44px; }
  .public-site .evaluation-compose-layout .check-field input,
  .public-site .student-compose-layout .check-field input,
  .public-site .reply-panel .check-field input,
  .public-site .post-rating .check-field input { width:20px; height:20px; margin-top:2px; }
  .public-site .evaluation-compose-layout .form-actions>.btn,
  .public-site .student-compose-layout .form-actions>.btn,
  .public-site .reply-panel .form-actions>.btn { min-height:46px; font-size:14px; }
  .public-site .evaluation-compose-layout .form-actions>a:not(.btn),
  .public-site .student-compose-layout .form-actions>a:not(.btn) { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
  .public-site #eval-form>.form-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .public-site #eval-form>.form-actions>.btn-primary { font-size:14px; padding-inline:10px; }

  /* Search first; the identity row keeps its full width above score/actions. */
  .public-site .evaluate-select-layout>.forum-sidebar { display:none; }
  .public-site .object-filter .forum-search { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:14px 14px 9px; gap:9px; }
  .public-site .object-filter .forum-search input[type=search] { grid-column:1 / -1; order:initial; min-height:48px; font-size:16px; }
  .public-site .object-filter .forum-search select { grid-column:1; grid-row:2; order:initial; width:100%; max-width:none; min-height:46px; height:46px; font-size:16px; padding-right:8px; }
  .public-site .object-filter .forum-search .btn { grid-column:2; grid-row:2; order:initial; min-height:46px; font-size:14px; padding-inline:15px; }
  .public-site .object-filter .filter-reset { grid-column:1 / -1; justify-self:end; order:initial; min-height:44px; margin:0; font-size:12px; }
  .public-site .object-filter .filter-hint { font-size:12px; line-height:1.8; padding:0 14px 13px; }
  .public-site .object-panel .forum-toolbar { gap:4px 12px; padding:12px 14px; }
  .public-site .object-panel .forum-toolbar>strong { font-size:15px; }
  .public-site .object-panel .forum-toolbar>span { font-size:12px; line-height:1.75; }
  .public-site .object-group-title { padding:12px 14px; font-size:13px; }
  .public-site .object-group-title small { font-size:12px; }
  .public-site .object-row { grid-template-columns:34px minmax(0,1fr) auto; grid-template-areas:"avatar info info" ". score action"; padding:15px 14px; gap:8px 10px; }
  .public-site .object-row>.avatar { width:34px; height:34px; }
  .public-site .object-info h3 { font-size:16px; line-height:1.65; }
  .public-site .object-info h3 .tag { font-size:12px; padding-inline:6px; }
  .public-site .object-info .object-meta { font-size:12px; line-height:1.85; }
  .public-site .object-info>a { min-height:44px; font-size:12px; }
  .public-site .object-score strong { font-size:22px; }
  .public-site .object-score span { font-size:12px; line-height:1.7; }
  .public-site .object-row>.btn { min-height:44px; font-size:13px; padding:10px 13px; }
  .public-site .object-submitted { grid-template-areas:"avatar info info" ". link link"; }
  .public-site .object-submitted>a { min-height:44px; font-size:13px; }

  /* Phone discussions read as compact floors rather than a desktop author rail. */
  .public-site .thread-breadcrumb { min-height:36px; font-size:12px; gap:6px; line-height:1.8; margin-bottom:10px; }
  .public-site .thread-breadcrumb a { display:inline-flex; align-items:center; min-height:36px; }
  .public-site .thread-detail-head { display:block; padding:20px 16px 12px; }
  .public-site .thread-detail-head h1 { font-size:22px; line-height:1.55; margin:9px 0; }
  .public-site .thread-detail-head p { font-size:12px; line-height:1.8; }
  .public-site .thread-header-actions { width:100%; margin-top:12px; gap:8px; justify-content:flex-end; }
  .public-site .thread-header-actions .bookmark-control { margin-right:auto; flex:1; }
  .public-site .thread-header-actions .btn { min-height:44px; font-size:13px; padding:9px 13px; }
  .public-site .thread-header-actions .browser-tool-status { flex-basis:100%; max-width:none; font-size:12px; }
  .public-site .forum-floor { display:block; min-height:0; }
  .public-site .floor-author { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; gap:7px; padding:12px 16px 0; border:0; background:#fff; }
  .public-site .floor-author .forum-user-avatar { width:29px; height:29px; border-radius:9px; margin:0; }
  .public-site .floor-author .forum-user-avatar .icon { width:18px; height:18px; }
  .public-site .floor-author>strong { font-size:13px; }
  .public-site .floor-author .verified-badge { font-size:12px; padding:1px 5px; }
  .public-site .floor-author .landlord-badge { font-size:12px; padding:2px 6px; }
  .public-site .floor-body { padding:13px 16px 6px; }
  .public-site .floor-text { font-size:15px; line-height:1.95; margin-bottom:15px; }
  .public-site .floor-footer { font-size:12px; line-height:1.75; gap:0 8px; padding-top:4px; }
  .public-site .floor-actions { gap:12px; margin-left:auto; }
  .public-site .floor-footer .report-link { min-height:44px; font-size:12px; padding-inline:4px; }
  .public-site .post-score-header { font-size:12px; gap:10px; margin-bottom:11px; }
  .public-site .post-score-header>span { max-width:170px; }
  .public-site .post-score-header>strong { font-size:25px; }
  .public-site .post-score-header small { font-size:12px; }
  .public-site .post-dimensions { gap:0; margin-bottom:18px; padding:12px 0; }
  .public-site .post-dimensions dt { font-size:12px; }
  .public-site .post-dimensions dd { font-size:21px; }
  .public-site .post-dimensions dd small { display:none; }
  .public-site .no-replies { font-size:14px; line-height:1.85; padding:24px 18px; }
  .public-site .thread-detail>.post-rating { padding:19px 14px; scroll-margin-top:90px; }
  .public-site .post-rating-heading { flex-wrap:wrap; gap:10px; }
  .public-site .post-rating-heading>div:first-child { flex:1 1 150px; }
  .public-site .post-rating-heading h2 { font-size:17px; line-height:1.6; }
  .public-site .post-rating-heading p { max-width:none; font-size:12px; line-height:1.8; }
  .public-site .post-rating-average { flex-direction:row; align-items:baseline; gap:9px; }
  .public-site .post-rating-average>strong { font-size:24px; }
  .public-site .post-rating-average>span,
  .public-site .post-rating-average small { font-size:12px; }
  .public-site .post-rating-distribution { font-size:12px; margin-bottom:15px; }
  .public-site .post-rating-distribution summary { min-height:44px; padding:11px 0; font-size:13px; }
  .public-site .post-rating-distribution dt,
  .public-site .post-rating-distribution dd>span:last-child { font-size:12px; }
  .public-site .post-rating-choice legend { font-size:14px; line-height:1.8; margin-bottom:10px; }
  .public-site .post-rating-choice legend span { display:block; font-size:12px; margin-left:0; }
  .public-site .post-rating-form { gap:12px; }
  .public-site .post-rating-form .form-actions { align-items:stretch; flex-direction:column; gap:5px; }
  .public-site .post-rating-form .form-actions>.btn { min-height:46px; font-size:14px; }
  .public-site .post-rating-form .form-actions>.muted { font-size:12px; line-height:1.8; }
  .public-site .post-rating-complete { font-size:14px; line-height:1.8; }
  .public-site .reply-panel { padding:20px 16px; margin-top:14px; scroll-margin-top:90px; }
  .public-site .reply-panel h2 { font-size:19px; }
  .public-site .reply-hint { font-size:14px; line-height:1.8; margin-bottom:17px; }
  .public-site .reply-status-note { font-size:12px; line-height:1.8; }
  .public-site .reply-evidence { padding:0 12px; }
  .public-site .reply-evidence>summary { min-height:48px; padding:12px 0; font-size:14px; line-height:1.8; }
  .public-site .reply-evidence .field { margin:4px 0 13px; }
  .public-site .reply-login { display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; padding-top:12px; }
  .public-site .reply-login .forum-user-avatar { width:34px; height:34px; }
  .public-site .reply-login p { font-size:14px; line-height:1.8; }
  .public-site .reply-login>div { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) auto; margin:0; }
  .public-site .reply-login .btn { min-height:46px; font-size:14px; }
  .public-site .pagination a { min-height:44px; min-width:38px; font-size:13px; }

  /* Low-frequency browser tools no longer dominate the form on a phone. */
  .public-site details.draft-tools { display:block; padding:0 12px; margin:7px 0 13px; background:#fafcff; }
  .public-site .draft-tools>summary { display:flex; align-items:center; justify-content:space-between; min-height:48px; gap:8px; padding:10px 0; cursor:pointer; font-size:14px; line-height:1.7; }
  .public-site .draft-tools>summary:after { content:'+'; color:var(--muted); font-size:20px; }
  .public-site .draft-tools[open]>summary:after { content:'−'; }
  .public-site .draft-tools>summary strong { display:inline-flex; align-items:center; gap:7px; }
  .public-site .draft-tools>summary .tag { margin-left:auto; font-size:12px; }
  .public-site .draft-tools>p,
  .public-site .draft-tools .muted,
  .public-site .draft-tools .browser-tool-status { font-size:12px; line-height:1.85; margin:0 0 12px; }
  .public-site .draft-tools>.form-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:10px 0; }
  .public-site .draft-tools .btn { min-height:44px; padding:9px 5px; font-size:12px; }
  .public-site .bookmarks-page-head>.btn { min-height:44px; font-size:14px; }
  .public-site .bookmark-privacy-note,
  .public-site .privacy-entry-note { display:block; padding:0 14px; margin-bottom:16px; }
  .public-site .bookmark-privacy-note>summary,
  .public-site .privacy-entry-note>summary { cursor:pointer; min-height:48px; padding:12px 0; font-size:14px; line-height:1.7; color:var(--ink-soft); }
  .public-site .bookmark-privacy-note>summary>.icon,
  .public-site .privacy-entry-note>summary>.icon { vertical-align:middle; margin-right:4px; }
  .public-site .bookmark-privacy-note>p,
  .public-site .privacy-entry-note>p { font-size:14px; line-height:1.9; margin:0 0 14px; }
  .public-site .bookmark-panel { padding:14px; }
  .public-site .bookmark-panel .bookmark-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 9px; padding:0 0 14px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
  .public-site .bookmark-toolbar>.field:first-child { grid-column:1 / -1; }
  .public-site .bookmark-toolbar>.field:nth-child(2) { grid-column:1; }
  .public-site .bookmark-toolbar>.field>span { font-size:12px; }
  .public-site .bookmark-toolbar>.field input,
  .public-site .bookmark-toolbar>.field select { font-size:16px; height:46px; min-height:46px; }
  .public-site .bookmark-toolbar>.btn { grid-column:2; font-size:12px; min-height:46px; padding-inline:9px; color:var(--muted); border-color:transparent; background:transparent; box-shadow:none; }
  .public-site .bookmark-list { grid-template-columns:minmax(0,1fr); gap:11px; }
  .public-site .bookmark-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:17px 14px; }
  .public-site .bookmark-card h2 { grid-column:1 / -1; font-size:16px; line-height:1.7; }
  .public-site .bookmark-card>.bookmark-meta { align-self:center; font-size:12px; line-height:1.8; }
  .public-site .bookmark-card>.btn { min-height:44px; font-size:12px; padding-inline:8px; }
  .public-site .bookmark-panel>[data-bookmark-count],
  .public-site .bookmark-panel>.browser-tool-status { font-size:12px; }
  .public-site .bookmark-empty p { font-size:14px; line-height:1.9; }

  /* Long help stays readable, with a swipeable privacy table of contents. */
  .public-site .privacy-hero { padding:20px 17px; margin-bottom:16px; }
  .public-site .privacy-hero .feature-icon { display:none; }
  .public-site .privacy-hero h2 { font-size:20px; line-height:1.65; margin-bottom:10px; }
  .public-site .privacy-hero h2 br { display:none; }
  .public-site .privacy-hero p { font-size:14px; line-height:1.9; }
  .public-site .privacy-nav { display:flex; flex-wrap:nowrap; gap:7px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; padding-bottom:7px; margin-bottom:14px; }
  .public-site .privacy-nav a { flex:none; min-height:44px; padding:11px 13px; font-size:13px; white-space:nowrap; scroll-snap-align:start; }
  .public-site .privacy-sections { gap:13px; }
  .public-site .privacy-sections>.card { padding:21px 17px; scroll-margin-top:90px; }
  .public-site .privacy-sections h2 { font-size:19px; line-height:1.65; }
  .public-site .privacy-sections p { font-size:15px; line-height:1.95; margin-bottom:14px; }
  .public-site .guide-grid { grid-template-columns:minmax(0,1fr); gap:11px; margin-bottom:21px; }
  .public-site .guide-grid>a.guide-card { display:grid; grid-template-columns:36px minmax(0,1fr); gap:5px 11px; padding:18px 16px; }
  .public-site .guide-grid .guide-card>.feature-icon { grid-column:1; grid-row:1 / 4; width:36px; height:38px; margin:0; }
  .public-site .guide-grid .guide-card h2 { grid-column:2; font-size:17px; line-height:1.65; margin:0; }
  .public-site .guide-grid .guide-card p { grid-column:2; font-size:14px; line-height:1.85; margin:0; }
  .public-site .guide-grid .guide-card>span:last-child { grid-column:2; font-size:12px; line-height:1.8; margin-top:5px; }
  .public-site .guide-steps { margin:17px 0; gap:10px; }
  .public-site .guide-steps>li { padding:18px 16px; gap:12px; }
  .public-site .guide-steps h3 { font-size:16px; line-height:1.65; margin-bottom:7px; }
  .public-site .guide-steps p { font-size:14px; line-height:1.9; }
  .public-site .guide-faq-list>details.guide-faq { padding:0 16px; }
  .public-site .guide-faq-list summary { padding:13px 22px 13px 0; min-height:50px; font-size:15px; line-height:1.8; }
  .public-site .guide-faq-list summary:after { top:13px; }
  .public-site .guide-faq-list p { font-size:14px; line-height:1.95; margin:0 0 16px; }

  /* Authentication is a task screen on phones; the desktop introduction is redundant here. */
  .public-site .login-layout { display:block; margin:0; }
  .public-site .login-intro { display:none; }
  .public-site .auth-card { padding:23px 17px; border-radius:13px; }
  .public-site .auth-card>.eyebrow { display:none; }
  .public-site .auth-card h2 { font-size:25px; line-height:1.5; margin-bottom:9px; }
  .public-site .auth-card>.sub { font-size:14px; line-height:1.8; margin-bottom:18px; }
  .public-site .auth-card .field>span { font-size:14px; }
  .public-site .auth-card input { font-size:16px; min-height:46px; }
  .public-site .auth-card .field small,
  .public-site .auth-card .check-field { font-size:12px; line-height:1.85; }
  .public-site .auth-card .check-field input { min-height:0; width:20px; height:20px; }
  .public-site .auth-card .btn { min-height:46px; font-size:14px; }
  .public-site .auth-card .auth-alternative { font-size:14px; line-height:1.8; }
  .public-site .auth-card .auth-alternative>a:not(.btn) { display:inline-flex; align-items:center; min-height:44px; }
  .public-site .auth-card .privacy { margin-top:22px; padding-top:18px; }
  .public-site .auth-card .privacy strong { font-size:14px; }
  .public-site .auth-card .privacy p { font-size:12px; line-height:1.9; }
  .public-site .auth-card .privacy a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; }
}
