/* ===== «Моя Сказка» — ночная тема ===== */
:root {
  color-scheme: dark;
  --sky-0: #060920;
  --sky-1: #0c1133;
  --sky-2: #161d4d;
  --ink: #eef0ff;
  --ink-soft: #c4c8ee;
  --muted: #9095c9;
  --line: rgba(255, 255, 255, .12);
  --glass: rgba(20, 26, 68, .72);
  --glass-2: rgba(255, 255, 255, .06);
  --paper: #fdf8ef;          /* страницы книжки остаются «бумажными» */
  --paper-ink: #23264a;
  --paper-2: rgba(255, 255, 255, .04);
  --night: #0a0e2b;
  --coral: #ef8466;
  --coral-d: #e06a4c;
  --gold: #f5c86a;
  --moon: #fff4cf;
  --mint: #7cc6a8;
  --radius: 22px;
  --shadow: 0 24px 60px -24px rgba(0, 0, 0, .7);
  --serif: 'Lora', Georgia, serif;
  --sans: 'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --plants: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 170' preserveAspectRatio='xMidYMax slice'><path d='M0 120 Q120 95 240 112 T480 104 T800 110 V170 H0Z' fill='%23141a45'/><path d='M256.3 170 Q254.4 154.4 243.7 144.0 Q257.7 157.0 261.9 170Z M427.1 170 Q428.8 149.2 429.0 135.4 Q429.7 152.7 430.3 170Z M28.4 170 Q25.6 147.6 15.3 132.7 Q28.0 151.3 31.6 170Z M337.9 170 Q336.6 138.2 329.7 116.9 Q338.7 143.5 341.4 170Z M499.3 170 Q500.8 135.3 498.2 112.1 Q502.8 141.0 504.6 170Z M777.8 170 Q778.7 156.9 773.4 148.1 Q781.4 159.1 784.2 170Z M113.3 170 Q118.8 155.2 126.8 145.3 Q119.0 157.6 117.5 170Z M141.8 170 Q143.2 144.0 140.0 126.7 Q145.3 148.4 147.4 170Z M436.6 170 Q435.0 156.5 427.6 147.5 Q437.0 158.7 439.8 170Z M542.2 170 Q545.2 147.7 547.4 132.9 Q546.2 151.4 546.4 170Z M359.5 170 Q364.7 150.8 369.7 138.0 Q365.8 154.0 365.6 170Z M192.7 170 Q199.3 144.2 208.8 127.0 Q199.5 148.5 197.8 170Z M580.1 170 Q579.4 151.1 569.8 138.5 Q582.9 154.2 587.0 170Z M332.7 170 Q334.4 139.8 334.1 119.7 Q335.5 144.9 336.3 170Z M28.3 170 Q32.2 142.0 34.0 123.3 Q33.7 146.6 34.4 170Z M697.5 170 Q701.4 150.5 703.8 137.5 Q702.8 153.7 703.3 170Z M460.7 170 Q468.7 147.1 479.9 131.8 Q469.0 150.9 467.1 170Z M377.7 170 Q381.5 142.1 386.5 123.4 Q381.7 146.7 380.9 170Z M514.6 170 Q515.4 134.2 509.9 110.3 Q518.0 140.1 520.8 170Z M307.1 170 Q308.2 142.0 307.3 123.3 Q309.3 146.6 310.2 170Z M132.8 170 Q137.3 155.2 144.1 145.3 Q137.3 157.7 136.1 170Z M101.2 170 Q107.5 152.1 116.8 140.1 Q107.5 155.0 105.8 170Z M61.9 170 Q68.6 147.2 78.3 132.0 Q68.8 151.0 67.1 170Z M653.4 170 Q654.5 137.3 652.4 115.4 Q656.0 142.7 657.5 170Z M283.6 170 Q283.2 136.8 274.5 114.6 Q286.6 142.3 290.4 170Z M139.0 170 Q140.8 152.4 140.4 140.7 Q142.0 155.4 142.9 170Z M469.8 170 Q470.4 151.7 468.4 139.5 Q471.6 154.7 472.8 170Z M292.0 170 Q297.5 144.4 302.3 127.3 Q298.8 148.7 298.8 170Z M409.5 170 Q407.6 143.2 396.3 125.3 Q410.9 147.6 415.2 170Z M716.4 170 Q722.8 139.3 730.3 118.8 Q723.7 144.4 722.9 170Z M312.2 170 Q315.4 148.4 318.7 134.0 Q315.9 152.0 315.6 170Z M47.9 170 Q46.2 156.4 37.6 147.3 Q48.5 158.7 51.7 170Z M270.5 170 Q268.3 156.7 259.5 147.9 Q270.4 158.9 273.5 170Z M79.6 170 Q85.2 149.3 94.6 135.5 Q84.8 152.7 82.7 170Z M489.3 170 Q489.6 154.4 485.8 144.1 Q491.4 157.0 493.3 170Z M288.1 170 Q296.7 155.1 309.1 145.1 Q296.8 157.5 294.5 170Z M371.1 170 Q368.5 146.4 358.5 130.6 Q370.9 150.3 374.5 170Z M271.0 170 Q270.5 151.6 261.9 139.4 Q273.6 154.7 277.3 170Z M15.9 170 Q14.7 135.2 5.8 112.0 Q17.5 141.0 21.0 170Z M432.0 170 Q439.7 157.4 451.8 148.9 Q439.5 159.5 437.1 170Z M688.6 170 Q689.2 141.3 685.9 122.2 Q690.9 146.1 692.7 170Z M131.1 170 Q136.6 139.5 143.7 119.1 Q137.2 144.6 136.2 170Z M260.6 170 Q269.0 152.6 281.2 141.1 Q269.1 155.5 266.9 170Z M679.0 170 Q684.7 138.7 690.7 117.8 Q685.7 143.9 685.2 170Z M179.2 170 Q176.3 145.6 164.4 129.3 Q179.3 149.6 183.6 170Z M20.3 170 Q24.4 151.3 29.3 138.8 Q24.9 154.4 24.4 170Z M761.8 170 Q770.5 147.3 782.8 132.1 Q770.8 151.1 768.6 170Z M762.1 170 Q761.1 149.2 754.2 135.4 Q763.2 152.7 765.9 170Z M154.6 170 Q161.7 153.1 171.8 141.8 Q161.9 155.9 160.1 170Z M669.5 170 Q675.6 146.5 683.1 130.8 Q676.2 150.4 675.2 170Z M64.5 170 Q70.9 142.1 78.0 123.6 Q71.8 146.8 71.1 170Z M598.3 170 Q603.2 146.5 610.5 130.9 Q603.3 150.4 602.0 170Z M262.6 170 Q264.9 138.8 262.3 118.0 Q267.3 144.0 269.5 170Z M318.2 170 Q317.5 135.3 309.2 112.1 Q320.5 141.1 324.1 170Z M98.3 170 Q104.9 154.4 112.7 144.0 Q105.8 157.0 104.9 170Z M113.5 170 Q118.6 138.2 122.6 116.9 Q120.1 143.5 120.4 170Z M278.6 170 Q275.1 144.8 262.8 128.1 Q277.9 149.0 282.1 170Z M774.2 170 Q781.4 142.4 792.3 124.0 Q781.4 147.0 779.3 170Z M343.9 170 Q343.9 137.1 336.6 115.1 Q346.9 142.6 350.2 170Z M199.5 170 Q202.4 151.0 204.6 138.3 Q203.3 154.1 203.4 170Z M205.7 170 Q211.9 147.9 222.3 133.2 Q211.5 151.6 209.3 170Z M280.4 170 Q287.4 147.0 297.6 131.7 Q287.5 150.8 285.7 170Z M334.0 170 Q336.8 136.0 337.6 113.3 Q338.2 141.6 339.0 170Z M416.4 170 Q415.4 157.6 407.4 149.3 Q418.0 159.6 421.2 170Z M1.3 170 Q2.9 138.8 2.2 118.0 Q4.1 144.0 5.0 170Z M578.0 170 Q580.4 144.6 580.8 127.7 Q581.6 148.9 582.3 170Z M442.6 170 Q445.0 139.2 446.5 118.6 Q445.8 144.3 446.1 170Z M195.8 170 Q198.9 151.4 199.1 138.9 Q200.7 154.5 201.8 170Z M446.1 170 Q448.8 139.8 447.3 119.6 Q451.0 144.8 452.7 170Z M487.5 170 Q492.1 145.9 497.0 129.8 Q492.9 149.9 492.5 170Z' fill='%2311163d'/><g fill='%230b0f2c' stroke='%230b0f2c'><path d='M60.0 170.0 L60.2 160.5 L61.0 151.0 L62.2 141.5 L64.0 132.0 L66.2 122.5 L69.0 113.0 L72.2 103.5 L76.0 94.0 L80.2 84.5 L85.0 75.0' fill='none' stroke-width='2.2' stroke-linecap='round'/><path d='M60.2 160.5 Q50.6 150.9 40.9 151.2 Q50.6 157.9 60.2 160.5Z' stroke='none'/><path d='M60.2 160.5 Q70.8 151.6 81.4 152.7 Q70.8 158.6 60.2 160.5Z' stroke='none'/><path d='M61.0 151.0 Q52.2 141.8 43.3 142.5 Q52.2 148.8 61.0 151.0Z' stroke='none'/><path d='M61.0 151.0 Q70.6 142.5 80.3 143.9 Q70.6 149.5 61.0 151.0Z' stroke='none'/><path d='M62.2 141.5 Q54.3 132.7 46.3 133.9 Q54.3 139.7 62.2 141.5Z' stroke='none'/><path d='M62.2 141.5 Q71.0 133.3 79.7 135.1 Q71.0 140.3 62.2 141.5Z' stroke='none'/><path d='M64.0 132.0 Q56.9 123.6 49.8 125.2 Q56.9 130.6 64.0 132.0Z' stroke='none'/><path d='M64.0 132.0 Q71.8 124.2 79.5 126.3 Q71.8 131.2 64.0 132.0Z' stroke='none'/><path d='M66.2 122.5 Q60.0 114.5 53.7 116.5 Q60.0 121.5 66.2 122.5Z' stroke='none'/><path d='M66.2 122.5 Q73.1 115.0 79.9 117.5 Q73.1 122.0 66.2 122.5Z' stroke='none'/><path d='M69.0 113.0 Q63.6 105.4 58.2 107.8 Q63.6 112.4 69.0 113.0Z' stroke='none'/><path d='M69.0 113.0 Q74.9 105.8 80.8 108.7 Q74.9 112.8 69.0 113.0Z' stroke='none'/><path d='M72.2 103.5 Q67.7 96.3 63.2 99.2 Q67.7 103.3 72.2 103.5Z' stroke='none'/><path d='M72.2 103.5 Q77.2 96.7 82.1 99.9 Q77.2 103.7 72.2 103.5Z' stroke='none'/><path d='M76.0 94.0 Q72.3 87.2 68.7 90.5 Q72.3 94.2 76.0 94.0Z' stroke='none'/><path d='M76.0 94.0 Q80.0 87.5 84.0 91.1 Q80.0 94.5 76.0 94.0Z' stroke='none'/><path d='M80.2 84.5 Q77.4 78.2 74.6 81.8 Q77.4 85.2 80.2 84.5Z' stroke='none'/><path d='M80.2 84.5 Q83.3 78.4 86.4 82.2 Q83.3 85.4 80.2 84.5Z' stroke='none'/></g><g fill='%230b0f2c' stroke='%230b0f2c'><path d='M95.0 170.0 L94.8 163.0 L94.2 156.0 L93.2 149.0 L91.8 142.0 L90.0 135.0 L87.8 128.0 L85.2 121.0 L82.2 114.0 L78.8 107.0 L75.0 100.0' fill='none' stroke-width='2.2' stroke-linecap='round'/><path d='M94.8 163.0 Q84.3 154.0 73.8 155.1 Q84.3 161.0 94.8 163.0Z' stroke='none'/><path d='M94.8 163.0 Q104.6 153.4 114.4 153.9 Q104.6 160.4 94.8 163.0Z' stroke='none'/><path d='M94.2 156.0 Q84.6 147.4 75.1 148.8 Q84.6 154.4 94.2 156.0Z' stroke='none'/><path d='M94.2 156.0 Q103.1 146.8 112.0 147.7 Q103.1 153.8 94.2 156.0Z' stroke='none'/><path d='M93.2 149.0 Q84.6 140.7 75.9 142.5 Q84.6 147.7 93.2 149.0Z' stroke='none'/><path d='M93.2 149.0 Q101.3 140.2 109.3 141.5 Q101.3 147.2 93.2 149.0Z' stroke='none'/><path d='M91.8 142.0 Q84.1 134.1 76.4 136.2 Q84.1 141.1 91.8 142.0Z' stroke='none'/><path d='M91.8 142.0 Q99.0 133.6 106.2 135.3 Q99.0 140.6 91.8 142.0Z' stroke='none'/><path d='M90.0 135.0 Q83.2 127.4 76.5 129.9 Q83.2 134.4 90.0 135.0Z' stroke='none'/><path d='M90.0 135.0 Q96.3 127.1 102.6 129.1 Q96.3 134.1 90.0 135.0Z' stroke='none'/><path d='M87.8 128.0 Q82.0 120.8 76.1 123.6 Q82.0 127.8 87.8 128.0Z' stroke='none'/><path d='M87.8 128.0 Q93.2 120.5 98.7 122.9 Q93.2 127.5 87.8 128.0Z' stroke='none'/><path d='M85.2 121.0 Q80.3 114.1 75.4 117.3 Q80.3 121.1 85.2 121.0Z' stroke='none'/><path d='M85.2 121.0 Q89.8 113.9 94.4 116.7 Q89.8 120.9 85.2 121.0Z' stroke='none'/><path d='M82.2 114.0 Q78.2 107.5 74.2 111.0 Q78.2 114.5 82.2 114.0Z' stroke='none'/><path d='M82.2 114.0 Q85.9 107.3 89.6 110.5 Q85.9 114.3 82.2 114.0Z' stroke='none'/><path d='M78.8 107.0 Q75.8 100.9 72.7 104.7 Q75.8 107.9 78.8 107.0Z' stroke='none'/><path d='M78.8 107.0 Q81.6 100.7 84.5 104.3 Q81.6 107.7 78.8 107.0Z' stroke='none'/></g><g fill='%230b0f2c' stroke='%230b0f2c'><path d='M430.0 170.0 L429.7 159.0 L428.8 148.0 L427.3 137.0 L425.2 126.0 L422.5 115.0 L419.2 104.0 L415.3 93.0 L410.8 82.0 L405.7 71.0 L400.0 60.0' fill='none' stroke-width='2.2' stroke-linecap='round'/><path d='M429.7 159.0 Q419.0 150.2 408.4 151.4 Q419.0 157.2 429.7 159.0Z' stroke='none'/><path d='M429.7 159.0 Q439.3 149.3 448.9 149.6 Q439.3 156.3 429.7 159.0Z' stroke='none'/><path d='M428.8 148.0 Q419.1 139.5 409.4 141.1 Q419.1 146.5 428.8 148.0Z' stroke='none'/><path d='M428.8 148.0 Q437.5 138.7 446.3 139.4 Q437.5 145.7 428.8 148.0Z' stroke='none'/><path d='M427.3 137.0 Q418.5 128.9 409.8 130.8 Q418.5 135.9 427.3 137.0Z' stroke='none'/><path d='M427.3 137.0 Q435.2 128.1 443.1 129.2 Q435.2 135.1 427.3 137.0Z' stroke='none'/><path d='M425.2 126.0 Q417.4 118.2 409.6 120.4 Q417.4 125.2 425.2 126.0Z' stroke='none'/><path d='M425.2 126.0 Q432.2 117.5 439.3 119.1 Q432.2 124.5 425.2 126.0Z' stroke='none'/><path d='M422.5 115.0 Q415.6 107.5 408.7 110.1 Q415.6 114.5 422.5 115.0Z' stroke='none'/><path d='M422.5 115.0 Q428.7 107.0 434.9 108.9 Q428.7 114.0 422.5 115.0Z' stroke='none'/><path d='M419.2 104.0 Q413.3 96.9 407.3 99.8 Q413.3 103.9 419.2 104.0Z' stroke='none'/><path d='M419.2 104.0 Q424.5 96.4 429.9 98.8 Q424.5 103.4 419.2 104.0Z' stroke='none'/><path d='M415.3 93.0 Q410.3 86.2 405.3 89.4 Q410.3 93.2 415.3 93.0Z' stroke='none'/><path d='M415.3 93.0 Q419.8 85.8 424.3 88.6 Q419.8 92.8 415.3 93.0Z' stroke='none'/><path d='M410.8 82.0 Q406.8 75.6 402.7 79.1 Q406.8 82.6 410.8 82.0Z' stroke='none'/><path d='M410.8 82.0 Q414.4 75.2 418.1 78.4 Q414.4 82.2 410.8 82.0Z' stroke='none'/><path d='M405.7 71.0 Q402.6 64.9 399.5 68.8 Q402.6 71.9 405.7 71.0Z' stroke='none'/><path d='M405.7 71.0 Q408.5 64.6 411.3 68.3 Q408.5 71.6 405.7 71.0Z' stroke='none'/></g><g fill='%230b0f2c' stroke='%230b0f2c'><path d='M470.0 170.0 L470.2 162.0 L470.7 154.0 L471.6 146.0 L472.9 138.0 L474.5 130.0 L476.5 122.0 L478.8 114.0 L481.5 106.0 L484.6 98.0 L488.0 90.0' fill='none' stroke-width='2.2' stroke-linecap='round'/><path d='M470.2 162.0 Q460.4 152.5 450.5 152.9 Q460.4 159.5 470.2 162.0Z' stroke='none'/><path d='M470.2 162.0 Q480.6 153.0 491.1 154.0 Q480.6 160.0 470.2 162.0Z' stroke='none'/><path d='M470.7 154.0 Q461.8 144.9 452.8 145.7 Q461.8 151.9 470.7 154.0Z' stroke='none'/><path d='M470.7 154.0 Q480.3 145.4 489.8 146.7 Q480.3 152.4 470.7 154.0Z' stroke='none'/><path d='M471.6 146.0 Q463.5 137.3 455.5 138.5 Q463.5 144.3 471.6 146.0Z' stroke='none'/><path d='M471.6 146.0 Q480.2 137.7 488.8 139.4 Q480.2 144.7 471.6 146.0Z' stroke='none'/><path d='M472.9 138.0 Q465.7 129.7 458.5 131.3 Q465.7 136.7 472.9 138.0Z' stroke='none'/><path d='M472.9 138.0 Q480.6 130.1 488.2 132.1 Q480.6 137.1 472.9 138.0Z' stroke='none'/><path d='M474.5 130.0 Q468.2 122.1 461.8 124.1 Q468.2 129.1 474.5 130.0Z' stroke='none'/><path d='M474.5 130.0 Q481.3 122.4 488.0 124.9 Q481.3 129.4 474.5 130.0Z' stroke='none'/><path d='M476.5 122.0 Q471.0 114.5 465.5 117.0 Q471.0 121.5 476.5 122.0Z' stroke='none'/><path d='M476.5 122.0 Q482.3 114.8 488.1 117.6 Q482.3 121.8 476.5 122.0Z' stroke='none'/><path d='M478.8 114.0 Q474.2 106.9 469.6 109.8 Q474.2 113.9 478.8 114.0Z' stroke='none'/><path d='M478.8 114.0 Q483.7 107.1 488.6 110.3 Q483.7 114.1 478.8 114.0Z' stroke='none'/><path d='M481.5 106.0 Q477.8 99.3 474.1 102.6 Q477.8 106.3 481.5 106.0Z' stroke='none'/><path d='M481.5 106.0 Q485.5 99.5 489.5 103.0 Q485.5 106.5 481.5 106.0Z' stroke='none'/><path d='M484.6 98.0 Q481.7 91.7 478.9 95.4 Q481.7 98.7 484.6 98.0Z' stroke='none'/><path d='M484.6 98.0 Q487.6 91.8 490.7 95.7 Q487.6 98.8 484.6 98.0Z' stroke='none'/></g><g fill='%230b0f2c' stroke='%230b0f2c'><path d='M690.0 170.0 L690.2 160.0 L690.9 150.0 L692.0 140.0 L693.5 130.0 L695.5 120.0 L697.9 110.0 L700.8 100.0 L704.1 90.0 L707.8 80.0 L712.0 70.0' fill='none' stroke-width='2.2' stroke-linecap='round'/><path d='M690.2 160.0 Q680.5 150.4 670.7 150.8 Q680.5 157.4 690.2 160.0Z' stroke='none'/><path d='M690.2 160.0 Q700.8 151.1 711.3 152.1 Q700.8 158.1 690.2 160.0Z' stroke='none'/><path d='M690.9 150.0 Q682.0 140.8 673.1 141.6 Q682.0 147.8 690.9 150.0Z' stroke='none'/><path d='M690.9 150.0 Q700.5 141.4 710.1 142.8 Q700.5 148.4 690.9 150.0Z' stroke='none'/><path d='M692.0 140.0 Q684.0 131.2 675.9 132.4 Q684.0 138.2 692.0 140.0Z' stroke='none'/><path d='M692.0 140.0 Q700.6 131.8 709.3 133.5 Q700.6 138.8 692.0 140.0Z' stroke='none'/><path d='M693.5 130.0 Q686.4 121.6 679.2 123.3 Q686.4 128.6 693.5 130.0Z' stroke='none'/><path d='M693.5 130.0 Q701.2 122.1 709.0 124.2 Q701.2 129.1 693.5 130.0Z' stroke='none'/><path d='M695.5 120.0 Q689.2 112.0 682.9 114.1 Q689.2 119.0 695.5 120.0Z' stroke='none'/><path d='M695.5 120.0 Q702.3 112.5 709.1 114.9 Q702.3 119.5 695.5 120.0Z' stroke='none'/><path d='M697.9 110.0 Q692.5 102.4 687.1 104.9 Q692.5 109.4 697.9 110.0Z' stroke='none'/><path d='M697.9 110.0 Q703.8 102.8 709.6 105.6 Q703.8 109.8 697.9 110.0Z' stroke='none'/><path d='M700.8 100.0 Q696.2 92.9 691.7 95.7 Q696.2 99.9 700.8 100.0Z' stroke='none'/><path d='M700.8 100.0 Q705.7 93.2 710.6 96.3 Q705.7 100.2 700.8 100.0Z' stroke='none'/><path d='M704.1 90.0 Q700.4 83.3 696.7 86.5 Q700.4 90.3 704.1 90.0Z' stroke='none'/><path d='M704.1 90.0 Q708.1 83.5 712.1 87.0 Q708.1 90.5 704.1 90.0Z' stroke='none'/><path d='M707.8 80.0 Q705.0 73.7 702.2 77.3 Q705.0 80.7 707.8 80.0Z' stroke='none'/><path d='M707.8 80.0 Q710.9 73.9 713.9 77.7 Q710.9 80.9 707.8 80.0Z' stroke='none'/></g><g fill='%230b0f2c' stroke='%230b0f2c'><path d='M730.0 170.0 L729.9 162.8 L729.4 155.6 L728.7 148.4 L727.8 141.2 L726.5 134.0 L725.0 126.8 L723.1 119.6 L721.0 112.4 L718.7 105.2 L716.0 98.0' fill='none' stroke-width='2.2' stroke-linecap='round'/><path d='M729.9 162.8 Q719.5 153.7 709.1 154.7 Q719.5 160.7 729.9 162.8Z' stroke='none'/><path d='M729.9 162.8 Q739.8 153.3 749.7 153.8 Q739.8 160.3 729.9 162.8Z' stroke='none'/><path d='M729.4 155.6 Q720.0 146.9 710.5 148.2 Q720.0 153.9 729.4 155.6Z' stroke='none'/><path d='M729.4 155.6 Q738.5 146.5 747.5 147.4 Q738.5 153.5 729.4 155.6Z' stroke='none'/><path d='M728.7 148.4 Q720.2 140.1 711.6 141.7 Q720.2 147.1 728.7 148.4Z' stroke='none'/><path d='M728.7 148.4 Q736.9 139.7 745.0 141.0 Q736.9 146.7 728.7 148.4Z' stroke='none'/><path d='M727.8 141.2 Q720.1 133.2 712.5 135.3 Q720.1 140.2 727.8 141.2Z' stroke='none'/><path d='M727.8 141.2 Q735.0 132.9 742.3 134.6 Q735.0 139.9 727.8 141.2Z' stroke='none'/><path d='M726.5 134.0 Q719.8 126.4 713.1 128.8 Q719.8 133.4 726.5 134.0Z' stroke='none'/><path d='M726.5 134.0 Q732.9 126.1 739.3 128.2 Q732.9 133.1 726.5 134.0Z' stroke='none'/><path d='M725.0 126.8 Q719.2 119.5 713.4 122.3 Q719.2 126.5 725.0 126.8Z' stroke='none'/><path d='M725.0 126.8 Q730.5 119.3 736.0 121.8 Q730.5 126.3 725.0 126.8Z' stroke='none'/><path d='M723.1 119.6 Q718.3 112.7 713.4 115.8 Q718.3 119.7 723.1 119.6Z' stroke='none'/><path d='M723.1 119.6 Q727.8 112.5 732.4 115.4 Q727.8 119.5 723.1 119.6Z' stroke='none'/><path d='M721.0 112.4 Q717.1 105.9 713.2 109.3 Q717.1 112.9 721.0 112.4Z' stroke='none'/><path d='M721.0 112.4 Q724.8 105.7 728.5 109.0 Q724.8 112.7 721.0 112.4Z' stroke='none'/><path d='M718.7 105.2 Q715.6 99.0 712.6 102.8 Q715.6 106.0 718.7 105.2Z' stroke='none'/><path d='M718.7 105.2 Q721.5 98.9 724.4 102.6 Q721.5 105.9 718.7 105.2Z' stroke='none'/></g><path d='M200 170 Q199.0469158452982 116.0 198.66568218341746 80' fill='none' stroke='%230b0f2c' stroke-width='2.2'/><circle cx='198.7' cy='80.0' r='11' fill='%23f5c86a' opacity='.16'/><circle cx='198.7' cy='80.0' r='4.2' fill='%23ffe3a0'/><path d='M230 170 Q230.66570875158342 128.0 230.9319922522168 100' fill='none' stroke='%230b0f2c' stroke-width='2.2'/><circle cx='230.9' cy='100.0' r='11' fill='%23f5c86a' opacity='.16'/><circle cx='230.9' cy='100.0' r='4.2' fill='%23ffe3a0'/><path d='M560 170 Q559.5607263606416 113.0 559.3850169048984 75' fill='none' stroke='%230b0f2c' stroke-width='2.2'/><circle cx='559.4' cy='75.0' r='11' fill='%23f5c86a' opacity='.16'/><circle cx='559.4' cy='75.0' r='4.2' fill='%23ffe3a0'/><path d='M590 170 Q598.83002255077 131.0 602.362031571078 105' fill='none' stroke='%230b0f2c' stroke-width='2.2'/><circle cx='602.4' cy='105.0' r='11' fill='%23f5c86a' opacity='.16'/><circle cx='602.4' cy='105.0' r='4.2' fill='%23ffe3a0'/><path d='M350 170 Q353.98435764360573 134.0 355.578100701048 110' fill='none' stroke='%230b0f2c' stroke-width='2.2'/><circle cx='355.6' cy='110.0' r='11' fill='%23f5c86a' opacity='.16'/><circle cx='355.6' cy='110.0' r='4.2' fill='%23ffe3a0'/><path d='M296 170 L297 156 L303 156 L304 170Z' fill='%230b0f2c'/><path d='M286 157 Q300 136 314 157Z' fill='%230b0f2c'/><path d='M315.2 170 L315.9 160.2 L320.1 160.2 L320.8 170Z' fill='%230b0f2c'/><path d='M308.2 160.9 Q318 146.2 327.8 160.9Z' fill='%230b0f2c'/><path d='M646.4 170 L647.3 157.4 L652.7 157.4 L653.6 170Z' fill='%230b0f2c'/><path d='M637.4 158.3 Q650 139.4 662.6 158.3Z' fill='%230b0f2c'/><circle cx='686' cy='105' r='6' fill='%23f5c86a' opacity='.18'/><circle cx='686' cy='105' r='1.8' fill='%23fff1c2'/><circle cx='217' cy='75' r='6' fill='%23f5c86a' opacity='.18'/><circle cx='217' cy='75' r='1.8' fill='%23fff1c2'/><circle cx='737' cy='97' r='6' fill='%23f5c86a' opacity='.18'/><circle cx='737' cy='97' r='1.8' fill='%23fff1c2'/><circle cx='124' cy='40' r='6' fill='%23f5c86a' opacity='.18'/><circle cx='124' cy='40' r='1.8' fill='%23fff1c2'/><circle cx='356' cy='36' r='6' fill='%23f5c86a' opacity='.18'/><circle cx='356' cy='36' r='1.8' fill='%23fff1c2'/><circle cx='203' cy='36' r='6' fill='%23f5c86a' opacity='.18'/><circle cx='203' cy='36' r='1.8' fill='%23fff1c2'/><circle cx='529' cy='93' r='6' fill='%23f5c86a' opacity='.18'/><circle cx='529' cy='93' r='1.8' fill='%23fff1c2'/><circle cx='702' cy='42' r='6' fill='%23f5c86a' opacity='.18'/><circle cx='702' cy='42' r='1.8' fill='%23fff1c2'/><circle cx='564' cy='83' r='6' fill='%23f5c86a' opacity='.18'/><circle cx='564' cy='83' r='1.8' fill='%23fff1c2'/><path d='M110.5 170 Q111.4 143.7 104.3 126.2 Q114.7 148.1 118.3 170Z M759.3 170 Q767.3 154.2 779.6 143.7 Q767.2 156.8 764.7 170Z M663.4 170 Q666.1 159.3 666.5 152.2 Q667.6 161.1 668.5 170Z M269.0 170 Q273.7 158.6 279.3 151.0 Q274.3 160.5 273.6 170Z M13.0 170 Q10.4 150.8 -1.8 138.1 Q13.7 154.0 18.2 170Z M262.4 170 Q260.5 149.3 249.5 135.5 Q263.7 152.8 268.0 170Z M784.1 170 Q783.8 145.8 773.8 129.6 Q787.6 149.8 792.0 170Z M209.0 170 Q210.0 161.9 204.2 156.6 Q212.9 163.3 215.9 170Z M99.9 170 Q107.1 153.7 115.1 142.8 Q108.2 156.4 107.4 170Z M203.1 170 Q207.6 159.6 209.4 152.6 Q209.7 161.3 210.7 170Z M558.7 170 Q562.4 160.9 567.1 154.8 Q562.7 162.4 562.0 170Z M336.4 170 Q341.7 161.2 345.1 155.4 Q343.5 162.7 344.1 170Z M637.7 170 Q636.6 161.0 625.7 155.0 Q640.4 162.5 644.9 170Z M687.9 170 Q690.8 153.0 692.1 141.7 Q692.0 155.8 692.6 170Z M739.5 170 Q741.6 157.0 742.3 148.4 Q742.6 159.2 743.2 170Z M188.8 170 Q185.9 160.4 174.6 154.1 Q188.7 162.0 192.7 170Z M159.2 170 Q164.2 156.1 170.8 146.8 Q164.6 158.4 163.7 170Z M230.0 170 Q230.3 152.0 226.5 140.0 Q232.0 155.0 233.9 170Z M13.0 170 Q17.0 157.4 22.9 149.0 Q17.1 159.5 16.1 170Z M438.2 170 Q445.5 158.7 456.5 151.2 Q445.6 160.6 443.5 170Z M82.4 170 Q85.0 145.1 84.8 128.5 Q86.5 149.3 87.6 170Z M664.9 170 Q669.7 154.3 674.4 143.8 Q670.7 156.9 670.5 170Z M782.4 170 Q788.2 155.4 793.4 145.7 Q789.6 157.8 789.5 170Z M506.4 170 Q504.0 154.1 492.7 143.4 Q507.0 156.7 511.2 170Z M100.5 170 Q101.2 161.3 95.1 155.5 Q104.1 162.7 107.2 170Z M127.0 170 Q134.6 161.0 143.9 155.0 Q135.4 162.5 134.2 170Z M534.3 170 Q534.2 156.7 529.0 147.9 Q536.2 158.9 538.5 170Z M364.9 170 Q365.0 159.4 359.0 152.3 Q367.4 161.2 370.2 170Z M766.6 170 Q766.7 141.8 760.2 123.0 Q769.3 146.5 772.3 170Z M770.1 170 Q767.1 156.1 754.6 146.9 Q770.4 158.4 774.9 170Z M302.5 170 Q302.1 152.5 294.5 140.9 Q304.8 155.5 308.1 170Z M401.6 170 Q399.4 162.7 389.0 157.8 Q402.1 163.9 405.9 170Z M318.1 170 Q317.5 161.9 312.6 156.5 Q319.1 163.2 321.2 170Z M183.4 170 Q189.0 150.2 195.3 136.9 Q189.7 153.5 189.1 170Z M522.3 170 Q524.8 147.3 522.1 132.2 Q527.5 151.1 529.7 170Z M259.0 170 Q263.3 141.5 269.0 122.5 Q263.6 146.3 262.8 170Z M511.0 170 Q518.8 161.9 528.7 156.4 Q519.6 163.2 518.2 170Z M498.3 170 Q498.0 146.9 488.9 131.6 Q501.4 150.8 505.4 170Z M415.4 170 Q422.3 151.9 430.0 139.8 Q423.4 154.9 422.6 170Z M657.4 170 Q663.1 150.2 667.7 137.0 Q664.7 153.5 664.9 170Z M553.1 170 Q550.7 157.8 541.5 149.7 Q553.0 159.9 556.2 170Z M285.0 170 Q289.2 160.5 290.7 154.2 Q291.1 162.1 292.2 170Z M499.0 170 Q502.1 149.3 501.8 135.5 Q504.1 152.7 505.4 170Z M-0.7 170 Q2.7 145.6 2.8 129.3 Q4.7 149.6 6.0 170Z M426.5 170 Q430.7 148.6 436.7 134.3 Q430.9 152.1 429.8 170Z M199.6 170 Q204.2 161.2 210.0 155.3 Q204.7 162.7 203.9 170Z M160.2 170 Q164.1 146.8 164.0 131.4 Q166.5 150.7 168.1 170Z M302.8 170 Q308.9 152.5 315.7 140.8 Q309.9 155.4 309.3 170Z M491.9 170 Q489.8 148.9 480.9 134.9 Q492.1 152.4 495.3 170Z M200.9 170 Q203.9 146.7 205.6 131.2 Q205.0 150.6 205.4 170Z M7.8 170 Q11.8 161.5 16.2 155.8 Q12.5 162.9 12.1 170Z M551.5 170 Q553.9 148.2 554.3 133.7 Q555.2 151.8 556.0 170Z M369.9 170 Q376.0 152.7 385.9 141.2 Q375.6 155.6 373.5 170Z M155.6 170 Q154.2 141.7 142.0 122.8 Q158.2 146.4 163.2 170Z M363.3 170 Q366.6 145.1 365.4 128.5 Q369.2 149.2 371.1 170Z M211.1 170 Q211.8 158.3 204.5 150.4 Q215.2 160.2 218.8 170Z M462.4 170 Q470.1 159.7 481.5 152.9 Q470.1 161.4 468.0 170Z M103.3 170 Q110.3 145.1 120.0 128.5 Q110.5 149.2 108.9 170Z M558.9 170 Q562.5 157.8 562.2 149.7 Q564.8 159.8 566.4 170Z M17.1 170 Q19.3 162.7 18.1 157.9 Q21.2 163.9 22.6 170Z M239.2 170 Q239.6 159.8 234.9 152.9 Q241.7 161.5 243.9 170Z M668.8 170 Q675.8 162.8 684.4 157.9 Q676.7 164.0 675.6 170Z M92.8 170 Q100.4 142.8 110.5 124.6 Q100.9 147.3 99.3 170Z M229.4 170 Q237.3 154.8 249.8 144.6 Q236.9 157.3 234.3 170Z M468.8 170 Q468.9 155.0 463.2 145.0 Q471.3 157.5 473.9 170Z M35.0 170 Q36.3 160.6 30.9 154.3 Q39.2 162.2 42.2 170Z M746.3 170 Q748.6 157.4 748.9 149.0 Q749.8 159.5 750.6 170Z M148.0 170 Q156.0 154.7 165.7 144.6 Q157.0 157.3 155.8 170Z M645.8 170 Q654.3 149.2 665.4 135.3 Q655.0 152.6 653.4 170Z M437.8 170 Q441.9 147.3 447.7 132.1 Q442.0 151.0 441.0 170Z M357.6 170 Q358.4 146.5 353.0 130.9 Q361.0 150.5 363.8 170Z M37.4 170 Q38.9 142.8 38.2 124.6 Q40.1 147.3 41.0 170Z M271.6 170 Q280.1 156.4 292.1 147.3 Q280.4 158.6 278.3 170Z M205.9 170 Q208.8 148.6 210.2 134.4 Q209.9 152.2 210.4 170Z M313.6 170 Q312.3 159.2 305.0 152.0 Q314.5 161.0 317.4 170Z M722.7 170 Q729.2 152.1 739.4 140.1 Q728.9 155.1 726.8 170Z M795.3 170 Q793.9 153.1 786.1 141.8 Q796.1 155.9 799.0 170Z M70.8 170 Q69.8 155.4 63.2 145.7 Q71.7 157.8 74.3 170Z M203.0 170 Q209.4 150.5 215.7 137.5 Q210.7 153.7 210.4 170Z M327.4 170 Q328.9 153.9 325.8 143.1 Q331.0 156.6 333.0 170Z M268.4 170 Q275.6 161.5 287.4 155.8 Q275.2 162.9 272.8 170Z M97.6 170 Q104.6 151.9 113.8 139.9 Q105.2 154.9 103.8 170Z M170.6 170 Q171.7 156.9 169.2 148.2 Q173.3 159.1 174.9 170Z M353.1 170 Q360.7 142.2 370.1 123.7 Q361.5 146.8 360.3 170Z M14.2 170 Q21.7 162.1 31.7 156.8 Q22.3 163.4 20.7 170Z M377.1 170 Q377.4 150.1 374.7 136.9 Q378.7 153.4 380.1 170Z M737.8 170 Q746.6 145.0 758.5 128.3 Q747.0 149.1 745.1 170Z M196.9 170 Q199.0 160.4 199.6 154.1 Q200.1 162.0 200.7 170Z M542.4 170 Q547.3 142.5 551.0 124.1 Q548.7 147.1 549.0 170Z M609.0 170 Q606.9 152.9 595.3 141.5 Q610.3 155.8 614.7 170Z M622.0 170 Q627.4 157.8 631.1 149.6 Q629.2 159.8 629.6 170Z M240.9 170 Q244.5 160.0 247.9 153.4 Q245.3 161.7 245.2 170Z M557.2 170 Q559.1 160.4 559.7 154.0 Q560.0 162.0 560.5 170Z M464.3 170 Q467.4 154.4 470.0 144.0 Q468.3 157.0 468.4 170Z M5.7 170 Q13.3 156.3 24.9 147.1 Q13.3 158.6 11.0 170Z M513.0 170 Q512.8 143.7 506.1 126.2 Q515.4 148.1 518.3 170Z M194.4 170 Q195.6 142.1 190.7 123.4 Q198.2 146.7 200.9 170Z M14.2 170 Q16.6 152.0 14.6 140.1 Q18.8 155.0 20.6 170Z M202.0 170 Q202.9 148.4 196.0 134.0 Q206.1 152.0 209.6 170Z M24.7 170 Q29.2 155.5 33.9 145.8 Q30.1 157.9 29.8 170Z M155.1 170 Q158.5 145.6 158.6 129.3 Q160.5 149.7 161.8 170Z M161.9 170 Q167.6 141.9 175.7 123.1 Q167.8 146.5 166.5 170Z M181.2 170 Q182.4 158.0 177.3 150.0 Q185.2 160.0 188.0 170Z M759.6 170 Q758.6 152.1 751.6 140.2 Q760.7 155.1 763.5 170Z M329.8 170 Q329.8 148.4 320.9 134.0 Q333.4 152.0 337.5 170Z M310.8 170 Q310.9 158.2 301.9 150.3 Q314.6 160.2 318.7 170Z M39.0 170 Q45.8 161.5 55.8 155.8 Q45.8 162.9 44.0 170Z M702.9 170 Q711.5 147.0 722.4 131.6 Q712.4 150.8 710.9 170Z M259.6 170 Q266.1 158.8 272.3 151.3 Q267.5 160.7 267.2 170Z M23.1 170 Q24.2 148.4 21.0 134.1 Q26.1 152.0 28.0 170Z M263.9 170 Q263.0 159.1 257.4 151.9 Q264.7 161.0 266.9 170Z M279.4 170 Q286.2 142.2 297.9 123.6 Q285.6 146.8 283.0 170Z M162.4 170 Q169.4 155.1 177.5 145.2 Q170.4 157.6 169.5 170Z M343.3 170 Q344.6 161.7 341.4 156.2 Q346.7 163.1 348.6 170Z M733.2 170 Q739.9 158.6 749.9 151.1 Q739.9 160.5 738.0 170Z M20.7 170 Q27.1 153.9 33.8 143.2 Q28.3 156.6 27.8 170Z M30.9 170 Q37.1 162.0 47.6 156.7 Q36.5 163.4 34.2 170Z M201.9 170 Q203.9 146.7 199.8 131.1 Q206.7 150.5 209.4 170Z M214.8 170 Q215.3 142.1 209.3 123.5 Q218.0 146.8 220.9 170Z M571.1 170 Q567.9 156.0 555.4 146.6 Q571.0 158.3 575.5 170Z' fill='%23080b22'/><rect y='164' width='800' height='6' fill='%23080b22'/></svg>");
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; background: var(--sky-0); }
body {
  margin: 0; color: var(--ink); font: 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased; position: relative; min-height: 100vh;
  background:
    radial-gradient(ellipse 60% 45% at 85% 0%, rgba(255, 228, 160, .10), transparent 70%),
    radial-gradient(ellipse 70% 50% at 10% 30%, rgba(120, 110, 220, .12), transparent 70%),
    linear-gradient(180deg, var(--sky-0) 0%, var(--sky-1) 45%, var(--sky-2) 100%);
  background-attachment: fixed;
}
/* звёздное небо: два слоя мерцают по очереди */
body::before, body::after {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-repeat: repeat;
}
body::before {
  background-image:
    radial-gradient(1.2px 1.2px at 20px 30px, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 120px 90px, #fff 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 70px 160px, #ffeec2 50%, transparent 51%),
    radial-gradient(1px 1px at 170px 200px, #fff 50%, transparent 51%);
  background-size: 210px 230px;
  opacity: .75; animation: twinkle 5s ease-in-out infinite;
}
body::after {
  background-image:
    radial-gradient(1.6px 1.6px at 50px 60px, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 260px 140px, #cfd6ff 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 180px 300px, #fff 50%, transparent 51%),
    radial-gradient(2px 2px at 330px 40px, #ffe9b0 50%, transparent 51%);
  background-size: 370px 360px;
  opacity: .35; animation: twinkle 7s ease-in-out infinite reverse;
}
@keyframes twinkle { 0%, 100% { opacity: .8; } 50% { opacity: .3; } }
/* падающая звезда */
html::after {
  content: ''; position: fixed; top: 12%; left: -10%; width: 140px; height: 2px; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 244, 207, .9)); border-radius: 2px;
  transform: rotate(18deg); opacity: 0; animation: shooting 11s linear infinite 3s;
}
@keyframes shooting {
  0% { opacity: 0; transform: translate(0, 0) rotate(18deg); }
  2% { opacity: 1; }
  7% { opacity: 0; transform: translate(60vw, 20vw) rotate(18deg); }
  100% { opacity: 0; transform: translate(60vw, 20vw) rotate(18deg); }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } html::after { display: none; } .reveal, .reveal-book { opacity: 1; transform: none; } }

header, main, footer, .doc { position: relative; z-index: 1; }
img { max-width: 100%; display: block; }
a { color: var(--gold); }
h1, h2, h3 { font-family: var(--serif); line-height: 1.15; margin: 0 0 .5em; letter-spacing: -.01em; }
h1 { font-size: clamp(36px, 5.6vw, 62px); text-shadow: 0 2px 30px rgba(120, 130, 255, .25); }
h2 { font-size: clamp(28px, 3.8vw, 42px); }
h3 { font-size: 21px; }
p { margin: 0 0 1em; }
.wrap { max-width: 1140px; margin: 0 auto; padding: 0 20px; position: relative; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
.lead { font-size: clamp(18px, 2vw, 20px); color: var(--ink-soft); max-width: 36em; }
.center { text-align: center; }
.muted { color: var(--muted); }
.small { font-size: 14px; }

/* кнопки */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; cursor: pointer; font: 800 17px/1 var(--sans); padding: 18px 28px; border-radius: 999px; text-decoration: none; transition: transform .15s ease, box-shadow .2s ease, background .2s, border-color .2s; }
.btn-primary { background: linear-gradient(135deg, var(--coral), #f09a5a); color: #fff; box-shadow: 0 10px 30px -8px rgba(239, 132, 102, .8), 0 0 0 1px rgba(255, 255, 255, .08) inset; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 36px -8px rgba(239, 132, 102, .95), 0 0 24px rgba(245, 200, 106, .35); }
.btn-primary:disabled { opacity: .6; cursor: default; transform: none; }
.btn-ghost { background: rgba(255, 255, 255, .04); color: var(--ink); border: 2px solid var(--line); }
.btn-ghost:hover { border-color: var(--gold); color: var(--moon); }
.btn-sm { padding: 12px 20px; font-size: 15px; }

/* шапка */
.top { position: sticky; top: 0; z-index: 20; background: rgba(6, 9, 32, .55); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid transparent; transition: border-color .2s, background .2s; }
.top.scrolled { border-color: var(--line); background: rgba(6, 9, 32, .85); }
.top .wrap { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.logo { display: flex; align-items: center; gap: 10px; font: 700 22px var(--serif); color: var(--ink); text-decoration: none; }
.logo svg { width: 34px; height: 34px; filter: drop-shadow(0 0 8px rgba(245, 200, 106, .35)); }

/* hero: луна и травы */
.hero { padding: 48px 0 170px; position: relative; overflow: hidden; }
.hero::before {
  content: ''; position: absolute; width: 230px; height: 230px; right: 4%; top: 10px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle at 38% 38%, #fffaf0 0%, var(--moon) 40%, #efd58f 100%);
  box-shadow: 0 0 60px 18px rgba(255, 236, 180, .28), 0 0 160px 60px rgba(255, 236, 180, .12);
  opacity: .9;
}
.hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 170px; background: var(--plants) repeat-x bottom / auto 170px; pointer-events: none; }
.hero .wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; z-index: 1; }
.hero h1 em { font-style: italic; color: var(--gold); text-shadow: 0 0 28px rgba(245, 200, 106, .45); }
.hero .cta { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 28px; }
.hero .note { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 22px; color: var(--muted); font-size: 15px; font-weight: 600; }
.hero .note span::before { content: '✦'; color: var(--gold); margin-right: 6px; }

.book3d { position: relative; aspect-ratio: 4/5; max-width: 440px; margin: 0 auto; width: 100%; perspective: 1400px; animation: bookFloat 6s ease-in-out infinite; --rx: 0deg; --ry: 0deg; }
.book-float { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .35s ease-out; }
.book3d .cover { position: absolute; inset: 0; z-index: 2; border-radius: 10px 22px 22px 10px; overflow: hidden; box-shadow: 0 40px 80px -24px rgba(0, 0, 0, .8), 0 0 70px rgba(245, 200, 106, .14), inset 10px 0 18px -10px rgba(0,0,0,.45); transform: rotate(-3deg); transform-origin: 0% 50%; background: var(--night); border: 1px solid rgba(255, 255, 255, .08); transition: transform .8s cubic-bezier(.2, .8, .2, 1), box-shadow .8s; }
.book3d:hover .cover { transform: rotate(-3deg) rotateY(-24deg); box-shadow: 30px 40px 80px -24px rgba(0, 0, 0, .8), 0 0 90px rgba(245, 200, 106, .25); }
.book3d .cover svg { width: 100%; height: 100%; display: block; }
.book3d .pages { position: absolute; inset: 8px -10px 8px 14px; background: repeating-linear-gradient(90deg, #fff 0 2px, #efe6d3 2px 3px); border-radius: 6px 18px 18px 6px; transform: translateZ(-40px) rotate(-1deg); box-shadow: var(--shadow); }
.book3d .pages::after { content: '✦ Жил-был…'; position: absolute; inset: 0; display: grid; place-items: center; font: italic 600 22px var(--serif); color: #b4a684; opacity: 0; transition: opacity .6s .2s; }
.book3d:hover .pages::after { opacity: 1; }
.book3d .title { position: absolute; left: 8%; right: 8%; bottom: 9%; text-align: center; color: #fff; }
.book3d .title b { display: block; font: 700 clamp(24px, 3.4vw, 34px)/1.1 var(--serif); text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.book3d .title span { font-weight: 700; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.book3d .shine { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .16) 48%, transparent 60%); background-size: 300% 100%; animation: shine 7s ease-in-out infinite 2s; pointer-events: none; }
@keyframes bookFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes shine { 0%, 70% { background-position: 150% 0; } 100% { background-position: -50% 0; } }

/* живая обложка */
.book3d svg * { transform-box: fill-box; }
.book3d .tw { animation: tw 3s ease-in-out infinite; }
.book3d .tw.big { transform-origin: center; animation-name: twBig; }
@keyframes tw { 50% { opacity: .15; } }
@keyframes twBig { 0%, 100% { transform: scale(1) rotate(0); opacity: 1; } 50% { transform: scale(.55) rotate(45deg); opacity: .6; } }
.book3d .moonglow { transform-origin: center; animation: pulse 4s ease-in-out infinite; }
.book3d .kidglow { transform-origin: center; animation: pulse 2.6s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.12); opacity: 1; } }
.book3d .shoot { animation: shoot 7s ease-in infinite 1s; opacity: 0; }
@keyframes shoot { 0% { transform: translate(40px, 30px) rotate(18deg); opacity: 0; } 3% { opacity: 1; } 14% { transform: translate(420px, 160px) rotate(18deg); opacity: 0; } 100% { transform: translate(420px, 160px) rotate(18deg); opacity: 0; } }
.book3d .cloud { animation: drift 16s ease-in-out infinite alternate; }
@keyframes drift { to { transform: translateX(60px); } }
.book3d .kid { animation: bob 3s ease-in-out infinite; }
@keyframes bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.book3d .arm { transform-origin: 0% 100%; animation: wave 3s ease-in-out infinite; }
@keyframes wave { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-10deg); } }
.book3d .wand { transform-origin: center; animation: spin 4s linear infinite; filter: drop-shadow(0 0 4px #ffe08a); }
@keyframes spin { 0% { transform: rotate(0) scale(1); } 50% { transform: rotate(180deg) scale(1.35); } 100% { transform: rotate(360deg) scale(1); } }
.book3d .dust { animation: dust 3.6s ease-out infinite; opacity: 0; }
.book3d .dust:nth-child(odd) { animation-name: dust2; }
@keyframes dust { 0% { transform: translate(0, 0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translate(-30px, -150px); opacity: 0; } }
@keyframes dust2 { 0% { transform: translate(0, 0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translate(40px, -130px); opacity: 0; } }
.book3d .eyes, .spread .blink { transform-origin: center; animation: blink 5s infinite; }
@keyframes blink { 0%, 94%, 100% { transform: scaleY(1); } 97% { transform: scaleY(.1); } }
.book3d .fox { animation: bob 2.4s ease-in-out infinite .4s; }
.book3d .tail { transform-origin: 100% 50%; animation: wag 1.2s ease-in-out infinite; }
@keyframes wag { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-16deg); } }
.book3d .fly, .spread .fly { animation: fly 3.2s ease-in-out infinite; }
@keyframes fly { 0%, 100% { opacity: .25; transform: translate(0, 0); } 50% { opacity: 1; transform: translate(6px, -8px); } }
.spark { position: absolute; left: var(--x); top: var(--y); width: 18px; height: 18px; pointer-events: none; background: var(--gold); clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%); filter: drop-shadow(0 0 6px var(--gold)); animation: spark 3.2s ease-in-out infinite var(--d); opacity: 0; }
@keyframes spark { 0%, 100% { transform: scale(.2) rotate(0); opacity: 0; } 50% { transform: scale(1) rotate(90deg); opacity: 1; } }

/* появление при прокрутке */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; transition-delay: calc(var(--i, 0) * 90ms); }
.reveal.in { opacity: 1; transform: none; }
.reveal-book { opacity: 0; transform: perspective(1400px) rotateY(-28deg) rotateX(6deg) scale(.9); transform-origin: 50% 50%; transition: opacity .9s ease, transform 1.1s cubic-bezier(.2, .8, .2, 1); }
.reveal-book.in { opacity: 1; transform: none; }
.spread.in:hover { transform: translateY(-6px); transition: transform .4s ease; }

/* выбор стиля рисунков */
.styles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.style-card { position: relative; cursor: pointer; }
.style-card input { position: absolute; opacity: 0; pointer-events: none; }
.style-card span { display: block; height: 100%; padding: 16px 18px; border-radius: 18px; border: 2px solid var(--line); background: rgba(255, 255, 255, .05); transition: all .15s; }
.style-card b { display: block; font-size: 17px; margin-bottom: 4px; }
.style-card small { display: block; font-size: 14px; color: var(--muted); line-height: 1.4; }
.style-card:hover span { border-color: rgba(245, 200, 106, .5); }
.style-card input:checked + span { border-color: var(--gold); background: rgba(245, 200, 106, .1); box-shadow: 0 0 24px rgba(245, 200, 106, .2); }
.style-card input:focus-visible + span { outline: 3px solid var(--gold); outline-offset: 2px; }

.sticker { position: absolute; right: -6px; top: 8%; background: var(--gold); color: #1a1d3d; font-weight: 800; font-size: 14px; line-height: 1.2; text-align: center; width: 104px; height: 104px; border-radius: 50%; display: grid; place-items: center; padding: 10px; transform: rotate(12deg); box-shadow: 0 0 30px rgba(245, 200, 106, .45); z-index: 5; animation: stickerPop 3s ease-in-out infinite; }
@keyframes stickerPop { 0%, 100% { transform: rotate(12deg) scale(1); } 50% { transform: rotate(6deg) scale(1.07); } }

/* секции */
section { padding: 84px 0; position: relative; }
.alt { background: linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(255, 255, 255, .045)); border-top: 1px solid rgba(255, 255, 255, .05); border-bottom: 1px solid rgba(255, 255, 255, .05); }
.dark { background: rgba(3, 5, 20, .45); color: var(--ink); }
.dark .lead, .dark .muted { color: var(--ink-soft); }
.head { max-width: 680px; margin: 0 auto 48px; text-align: center; }

.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.step { background: var(--glass); border: 1px solid var(--line); backdrop-filter: blur(6px); border-radius: var(--radius); padding: 30px 26px; position: relative; transition: transform .2s, border-color .2s; }
.step:hover { transform: translateY(-4px); border-color: rgba(245, 200, 106, .4); }
.step .n { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font: 700 22px var(--serif); background: rgba(245, 200, 106, .14); color: var(--gold); margin-bottom: 18px; box-shadow: 0 0 20px rgba(245, 200, 106, .15); }
.step p { color: var(--ink-soft); margin: 0; }

/* разворот книги — светлая «бумага» */
.spread { display: grid; grid-template-columns: 1fr 1fr; background: var(--paper); color: var(--paper-ink); border-radius: 18px; box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .85), 0 0 80px rgba(245, 200, 106, .1); overflow: hidden; max-width: 960px; margin: 0 auto; position: relative; }
.spread::after { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 40px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, rgba(0,0,0,.08), transparent); pointer-events: none; }
.spread .ill svg { width: 100%; height: 100%; display: block; }
.spread .txt { padding: clamp(24px, 5vw, 56px); display: flex; flex-direction: column; justify-content: center; font: 400 clamp(17px, 1.8vw, 20px)/1.75 var(--serif); color: var(--paper-ink); }
.spread .txt .pg { font: 700 13px var(--sans); color: #7b7f9e; letter-spacing: .1em; margin-top: 18px; }
.spread .txt p::first-letter { font-size: 2.6em; float: left; line-height: .9; margin: 6px 8px 0 0; color: var(--coral-d); font-weight: 700; }

.features { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 48px; }
.feature { padding: 22px; border-radius: 18px; background: var(--glass-2); border: 1px solid var(--line); }
.feature .ic { font-size: 26px; margin-bottom: 10px; }
.feature h3 { font-size: 18px; margin-bottom: 6px; }
.feature p { margin: 0; font-size: 15px; color: var(--ink-soft); }

/* цена */
.price { max-width: 520px; margin: 0 auto; background: var(--glass); backdrop-filter: blur(8px); border-radius: 28px; padding: 40px 36px; box-shadow: var(--shadow), 0 0 60px rgba(245, 200, 106, .12); text-align: center; border: 1.5px solid rgba(245, 200, 106, .6); }
.price .num { font: 700 64px/1 var(--serif); margin: 10px 0 6px; color: var(--moon); }
.price .num small { font-size: 28px; }
.price ul { list-style: none; padding: 0; margin: 24px 0 30px; text-align: left; }
.price li { padding: 9px 0 9px 34px; position: relative; border-bottom: 1px dashed var(--line); color: var(--ink-soft); }
.price li::before { content: '✦'; position: absolute; left: 4px; top: 8px; width: 22px; height: 22px; border-radius: 50%; background: rgba(245, 200, 106, .16); color: var(--gold); font-weight: 800; font-size: 12px; display: grid; place-items: center; }

/* форма */
.form-card { background: var(--glass); backdrop-filter: blur(8px); border: 1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow); padding: clamp(22px, 4vw, 44px); max-width: 780px; margin: 0 auto; }
.field { margin-bottom: 26px; }
.field > label, .label { display: block; font-weight: 800; margin-bottom: 10px; }
.hint { font-size: 14px; color: var(--muted); margin-top: 6px; }
.row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
input[type=text], input[type=number], textarea, select { width: 100%; font: 600 17px var(--sans); color: var(--ink); background: rgba(255, 255, 255, .06); border: 2px solid var(--line); border-radius: 14px; padding: 14px 16px; outline: none; transition: border-color .15s, background .15s; }
input::placeholder, textarea::placeholder { color: #7479a8; }
input:focus, textarea:focus, select:focus { border-color: var(--gold); background: rgba(255, 255, 255, .09); }
select option { background: var(--sky-2); color: var(--ink); }
textarea { resize: vertical; min-height: 90px; }
.seg { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip { position: relative; }
.chip input { position: absolute; opacity: 0; pointer-events: none; }
.chip span { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border-radius: 999px; background: rgba(255, 255, 255, .05); border: 2px solid var(--line); font-weight: 700; font-size: 15px; cursor: pointer; transition: all .15s; user-select: none; color: var(--ink-soft); }
.chip span:hover { border-color: rgba(245, 200, 106, .5); color: var(--ink); }
.seg .chip span { width: 100%; justify-content: center; padding: 14px; font-size: 16px; }
.chip input:checked + span { background: var(--gold); border-color: var(--gold); color: #1a1d3d; box-shadow: 0 0 20px rgba(245, 200, 106, .35); }
.chip input:focus-visible + span { outline: 3px solid var(--gold); outline-offset: 2px; }

.drop { border: 2.5px dashed rgba(255, 255, 255, .2); border-radius: 20px; padding: 26px; display: flex; align-items: center; gap: 22px; cursor: pointer; background: rgba(255, 255, 255, .04); transition: border-color .15s, background .15s; }
.drop:hover, .drop.over { border-color: var(--gold); background: rgba(245, 200, 106, .06); }
.drop .ph { width: 110px; height: 110px; border-radius: 18px; flex: none; background: rgba(255, 255, 255, .06) center/cover no-repeat; display: grid; place-items: center; font-size: 38px; }
.drop b { display: block; font-size: 18px; }
.check { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: var(--ink-soft); cursor: pointer; }
.check input { width: 22px; height: 22px; accent-color: var(--gold); flex: none; margin-top: 1px; }
.error { background: rgba(239, 90, 70, .15); border: 1px solid rgba(239, 90, 70, .4); color: #ffb9aa; border-radius: 14px; padding: 14px 18px; font-weight: 700; margin-bottom: 18px; display: none; }
.error.show { display: block; }
.safe { display: flex; gap: 12px; background: rgba(124, 198, 168, .1); border: 1px solid rgba(124, 198, 168, .25); border-radius: 16px; padding: 14px 18px; font-size: 14px; color: #b3ead3; margin-bottom: 22px; }

/* FAQ */
.faq { max-width: 760px; margin: 0 auto; }
.faq details { background: var(--glass); border: 1px solid var(--line); border-radius: 16px; padding: 4px 22px; margin-bottom: 12px; }
.faq details[open] { border-color: rgba(245, 200, 106, .35); }
.faq summary { cursor: pointer; font-weight: 800; padding: 16px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; font-size: 24px; line-height: 1; color: var(--gold); transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { color: var(--ink-soft); padding-bottom: 8px; }

/* подвал с травами */
footer { padding: 150px 0 40px; background: linear-gradient(180deg, transparent, #04061a 60%); color: var(--muted); font-size: 14px; position: relative; }
footer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 150px; background: var(--plants) repeat-x bottom / auto 150px; transform: scaleX(-1); pointer-events: none; }
footer .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; align-items: center; }
footer a { color: var(--ink); margin-left: 18px; }
footer .logo { color: var(--ink); font-size: 18px; }

/* страницы документов */
.doc { max-width: 780px; margin: 0 auto; padding: 48px 20px 80px; }
.doc h1 { font-size: 36px; }
.doc h2 { font-size: 22px; margin-top: 32px; color: var(--moon); }
.doc li { margin-bottom: 6px; color: var(--ink-soft); }
.doc p { color: var(--ink-soft); }

/* страница готовой книги (book.html) */
body .stage { background: transparent; }
.bookpage { color: var(--paper-ink); background: var(--paper) !important; box-shadow: 0 30px 70px -26px rgba(0, 0, 0, .85) !important; }
body .bookpage .pg { color: #7b7f9e; }
body .coverpage { box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .9), 0 0 70px rgba(245, 200, 106, .15); }
body .actions { background: rgba(6, 9, 32, .88); border-top: 1px solid var(--line); backdrop-filter: blur(12px); }
body .toast { background: var(--moon); color: #1a1d3d; }
body .share { background: var(--glass); border: 1px solid var(--line); }
body .end { color: var(--gold); }

@media (max-width: 900px) {
  .hero .wrap { grid-template-columns: 1fr; }
  .hero { padding-top: 24px; padding-bottom: 140px; }
  .hero::before { width: 130px; height: 130px; right: 6%; top: 8px; opacity: .75; }
  .book3d { max-width: 340px; }
  .steps, .features { grid-template-columns: 1fr 1fr; }
  .spread { grid-template-columns: 1fr; }
  .spread::after { display: none; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  section { padding: 60px 0; }
  .steps, .features, .row { grid-template-columns: 1fr; }
  .top .btn { padding: 10px 16px; font-size: 14px; }
  .drop { flex-direction: column; text-align: center; }
  .sticker { width: 86px; height: 86px; font-size: 12px; }
  .styles { grid-template-columns: 1fr; }
  .hero::before { display: none; }
  .hero::after { height: 120px; background-size: auto 120px; }
  footer { padding-top: 120px; }
  footer::before { height: 110px; background-size: auto 110px; }
  footer a { margin: 0 14px 0 0; }
}

/* два тарифа */
.plans { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 900px; margin: 0 auto; align-items: stretch; }
.plans .price { max-width: none; margin: 0; display: flex; flex-direction: column; border-color: var(--line); box-shadow: var(--shadow); position: relative; }
.plans .price h3 { font-size: 26px; margin: 0; }
.plans .price ul { flex: 1; }
.plans .price.best { border: 1.5px solid rgba(245, 200, 106, .75); box-shadow: var(--shadow), 0 0 70px rgba(245, 200, 106, .18); }
.plans .badge { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); background: var(--gold); color: #1a1d3d; font-weight: 800; font-size: 13px; padding: 6px 14px; border-radius: 999px; white-space: nowrap; box-shadow: 0 0 20px rgba(245, 200, 106, .45); }
@media (max-width: 760px) { .plans { grid-template-columns: 1fr; gap: 32px; } }

/* настоящий пример */
.spread .ill img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 100%; }
.gallery-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; max-width: 960px; margin: 56px auto 16px; }
.gallery-head h3 { margin: 0; }
.gallery { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 4px 22px; max-width: 960px; margin: 0 auto; scrollbar-width: thin; scrollbar-color: rgba(245, 200, 106, .5) transparent; }
.gcard { flex: 0 0 min(78%, 340px); margin: 0; scroll-snap-align: start; background: var(--paper); color: var(--paper-ink); border-radius: 14px; overflow: hidden; box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .9); transition: transform .3s; }
.gcard:hover { transform: translateY(-6px) rotate(-.6deg); }
.gcard img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.gcard.gcover img { aspect-ratio: 4 / 3; object-position: 50% 20%; }
.gcard figcaption { padding: 14px 18px 18px; font: 400 15px/1.55 var(--serif); }
.gcard.gcover figcaption { font: 800 13px var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--coral-d); }
